Domain Detective

API Reference

Class

DesiredStateDmarcPolicy

Namespace DomainDetective.DesiredState
Assembly DomainDetective
Modifiers sealed

Provides desired state dmarc policy functionality.

Inheritance

  • Object
  • DesiredStateDmarcPolicy

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

public DesiredStateDmarcPolicy() #

Methods

public Void Apply(DesiredStateDmarcPolicy overlay) #
Returns: Void

Executes the apply operation.

Parameters

overlay DomainDetective.DesiredState.DesiredStateDmarcPolicy requiredposition: 0
public DesiredStateDmarcPolicy Clone() #
Returns: DesiredStateDmarcPolicy

Executes the clone operation.

Properties

public Nullable<Boolean> Enabled { get; set; } #
JsonPropertyName("enabled")

Gets or sets the enabled value.

public Nullable<Boolean> RequireRecord { get; set; } #
JsonPropertyName("requireRecord")

Gets or sets the require record value.

public Nullable<Boolean> RequireValidRecord { get; set; } #
JsonPropertyName("requireValidRecord")

When true, requires the DMARC record to be syntactically valid (v=DMARC1 + p= tag, valid pct, valid report URIs).

public Nullable<Boolean> RequireSingleRecord { get; set; } #
JsonPropertyName("requireSingleRecord")

When true, requires exactly one DMARC record to be published.

public String[] AllowedPolicies { get; set; } #
JsonPropertyName("allowedPolicies")

Allowed DMARC policy values (p= tag), as lowercase strings (none/quarantine/reject).

public String[] AllowedSubdomainPolicies { get; set; } #
JsonPropertyName("allowedSubdomainPolicies")

Allowed DMARC subdomain policy values (sp= tag), as lowercase strings (none/quarantine/reject).

public Nullable<Boolean> RequireSubdomainPolicyTag { get; set; } #
JsonPropertyName("requireSubdomainPolicyTag")

When true, requires an explicit sp= tag to be present.

public String[] AllowedAspfAlignments { get; set; } #
JsonPropertyName("allowedAspfAlignments")

Allowed aspf values (r/s) as lowercase strings.

public String[] AllowedAdkimAlignments { get; set; } #
JsonPropertyName("allowedAdkimAlignments")

Allowed adkim values (r/s) as lowercase strings.

public Nullable<Boolean> RequireRua { get; set; } #
JsonPropertyName("requireRua")

Gets or sets the require rua value.

public Nullable<Boolean> RequireMailtoRua { get; set; } #
JsonPropertyName("requireMailtoRua")

When true, requires at least one mailto: rua address (not only HTTPS endpoints).

public Nullable<Boolean> DisallowHttpRua { get; set; } #
JsonPropertyName("disallowHttpRua")

When true, disallows HTTPS endpoints in rua=.

public Nullable<Boolean> DisallowRuf { get; set; } #
JsonPropertyName("disallowRuf")

When true, disallows DMARC forensic reporting (ruf=).

public Nullable<Boolean> DisallowHttpRuf { get; set; } #
JsonPropertyName("disallowHttpRuf")

When true, disallows HTTPS endpoints in ruf=.

public Nullable<Boolean> DisallowWeakPolicy { get; set; } #
JsonPropertyName("disallowWeakPolicy")

When true, disallows weak policy (p=none or sp=none).

public Nullable<Boolean> DisallowRecordOver255 { get; set; } #
JsonPropertyName("disallowRecordOver255")

When true, disallows DMARC records longer than 255 characters.

public Nullable<Boolean> DisallowUnknownTags { get; set; } #
JsonPropertyName("disallowUnknownTags")

When true, disallows unknown/unrecognized DMARC tags (helps detect typos).

public Nullable<Boolean> DisallowDeprecatedTags { get; set; } #
JsonPropertyName("disallowDeprecatedTags")

When true, disallows deprecated DMARC tags (e.g., pct=, rf= per DMARCbis drafts).

public String[] AllowedReportDomainSuffixes { get; set; } #
JsonPropertyName("allowedReportDomainSuffixes")

Allowed domain suffixes for DMARC rua/ruf URIs (e.g., dmarc.vendor.example).

public Nullable<Boolean> RequireExternalReportAuthorization { get; set; } #
JsonPropertyName("requireExternalReportAuthorization")

When true, requires external reporting domains to be authorized via _report._dmarc.

{{ include "footer" }}