API Reference
MXAnalysis
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
- Property DomainHealthCheck.MXAnalysis
- Property MxInfo.Raw
Accepted by parameters
- Method MxNarrative.Build
- Method Converters.Convert
Constructors
public MXAnalysis() #Methods
public async Task AnalyzeMxRecords(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #TaskAnalyzes mx records.
Parameters
- dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer}
- logger DomainDetective.InternalLogger
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
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.