Domain Detective

API Reference

Class

MXAnalysis

Namespace DomainDetective
Assembly DomainDetective
Implements

Here are some of the key points for MX record analysis: 1. The MX record should exist for the domain. 2. The MX record should not point to a CNAME. 3. The MX record should not point to an IP address. 4. The MX record should not point to a domain that doesn't exist. 5. The MX record should not point to a domain that doesn't have an A or AAAA record.

Inheritance

  • Object
  • MXAnalysis

Usage

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

Returned or exposed by

Accepted by parameters

Constructors

Methods

public async Task AnalyzeMxRecords(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #
Returns: Task

Analyzes mx records.

Parameters

dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 0
logger DomainDetective.InternalLogger requiredposition: 1
public Boolean ValidateMxConfiguration() #
Returns: Boolean

Validates mx configuration.

Properties

public String Subject { get; set; } #

Gets or sets the subject value.

public DnsConfiguration DnsConfiguration { get; set; } #

DNS configuration used for lookups.

public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #

Optional DNS query override.

public List<String> MxRecords { get; set; } #

MX records discovered during analysis.

public IReadOnlyList<Int32> MxRecordTtls { get; set; } #

TTL values (seconds) for each MX record answer as returned by DNS.

public Nullable<Int32> MinMxTtl { get; set; } #

Minimum TTL (seconds) across MX answers (ignores 0).

public Nullable<Int32> MaxMxTtl { get; set; } #

Maximum TTL (seconds) across MX answers (ignores 0).

public Nullable<Double> AvgMxTtl { get; set; } #

Average TTL (seconds) across MX answers (ignores 0).

public Boolean MxRecordExists { get; set; } #

Indicates whether at least one MX record exists.

public Boolean PointsToCname { get; set; } #

Indicates that a record incorrectly points to a CNAME.

public Boolean PointsToIpAddress { get; set; } #

Indicates that a record incorrectly points to an IP address.

public Boolean PointsToNonExistentDomain { get; set; } #

Indicates that a record points to a non-existent domain.

public Boolean PointsToDomainWithoutAOrAaaaRecord { get; set; } #

Indicates that a record points to a domain without A/AAAA records.

public Boolean PrioritiesInOrder { get; set; } #

Indicates whether MX priorities appear in ascending order.

public Boolean HasBackupServers { get; set; } #

Indicates whether backup MX servers are present.

public Boolean HasNullMx { get; set; } #

True when an RFC 7505 "Null MX" is present (0 .).

public Boolean PointsToLocalhost { get; set; } #

True when an MX host points to localhost.

public Boolean Ipv6Supported { get; set; } #

True when at least one MX host has an AAAA record.

public Boolean MxTtlUniform { get; set; } #

Gets or sets the mx ttl uniform value.

public Boolean MxRrsetConsistentAcrossNs { get; set; } #

Gets or sets the mx rrset consistent across ns value.

public Boolean TargetAddressConsistentAcrossNs { get; set; } #

Gets or sets the target address consistent across ns value.

public IReadOnlyList<StandardReference> RfcReferences { get; } #

Relevant standards for MX analysis.

public virtual List<Assessment> Assessments { get; } #

Gets the assessments value.

public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #

Represents the recommendations value.

public Boolean ValidMxConfiguration { get; } #

Validates MX record configuration based on collected analysis.

{{ include "footer" }}