API Reference
ApexAddressAnalysis
Analyzes apex A/AAAA records for a domain and surfaces whether address records exist that SMTP could use as a fallback when MX records are absent (RFC 5321).
Inheritance
- Object
- ApexAddressAnalysis
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.ApexAddressAnalysis
- Property ApexAddressInfo.Raw
Accepted by parameters
- Method ApexAddressNarrative.Build
- Method Converters.Convert
Constructors
public ApexAddressAnalysis() #Methods
public Task AnalyzeApexAnswers(IEnumerable<DnsAnswer> aAnswers, IEnumerable<DnsAnswer> aaaaAnswers, InternalLogger logger = null) #TaskAnalyzes apex address answers supplied by the caller.
Parameters
- aAnswers System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer}
- aaaaAnswers System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer}
- logger DomainDetective.InternalLogger = null
public async Task AnalyzeAsnAndRpkiAsync(String domainName, InternalLogger logger = null) #TaskPopulates ASN and RPKI validity for apex addresses using RPKIAnalysis.
Parameters
- domainName System.String
- logger DomainDetective.InternalLogger = null
public async Task AnalyzeAsync(String domainName, InternalLogger logger = null) #TaskQueries and analyzes apex A/AAAA for the given domain using configured DNS.
Parameters
- domainName System.String
- logger DomainDetective.InternalLogger = null
public async Task AnalyzeReverseDnsAsync(String domainName, InternalLogger logger = null) #TaskPerforms PTR and FCrDNS checks for apex addresses.
Parameters
- domainName System.String
- logger DomainDetective.InternalLogger = null
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 when needed.
public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #Optional DNS query override for testing.
public List<String> ARecords { get; set; } #Apex A records discovered.
public List<String> AaaaRecords { get; set; } #Apex AAAA records discovered.
public Boolean HasARecord { get; } #True when at least one A record exists.
public Boolean HasAaaaRecord { get; } #True when at least one AAAA record exists.
public Boolean HasAnyAddress { get; } #True when either A or AAAA records exist.
public IReadOnlyList<StandardReference> RfcReferences { get; } #Relevant standards for apex address (SMTP fallback) behavior.
public Int32 IPv4Count { get; set; } #Gets or sets the i pv4 count value.
public Int32 IPv6Count { get; set; } #Gets or sets the i pv6 count value.
public Int32 DistinctSubnetCountV4 { get; set; } #Gets or sets the distinct subnet count v4 value.
public Int32 DistinctSubnetCountV6 { get; set; } #Gets or sets the distinct subnet count v6 value.
public Int32 PrivateAddressCount { get; set; } #Gets or sets the private address count value.
public Int32 LoopbackCount { get; set; } #Gets or sets the loopback count value.
public Int32 LinkLocalCount { get; set; } #Gets or sets the link local count value.
public Int32 MulticastCount { get; set; } #Gets or sets the multicast count value.
public Int32 DocumentationAddressCount { get; set; } #Gets or sets the documentation address count value.
public Int32 UniqueLocalV6Count { get; set; } #Gets or sets the unique local v6 count value.
public Int32 PublicAddressCount { get; set; } #Gets or sets the public address count value.
public Dictionary<String, List<String>> PtrByIp { get; set; } #Gets or sets the ptr by ip value.
public Boolean AnyPtrPresent { get; set; } #Gets or sets the any ptr present value.
public Boolean AllPtrPresent { get; set; } #Gets or sets the all ptr present value.
public Int32 FcrDnsValidCount { get; set; } #Gets or sets the fcr dns valid count value.
public Boolean AllFcrDnsValid { get; set; } #Gets or sets the all fcr dns valid value.
public Dictionary<String, Int32> AsnByIp { get; set; } #Gets or sets the asn by ip value.
public Int32 AsnDistinctCount { get; set; } #Gets or sets the asn distinct count value.
public Int32 RpkiValidCount { get; set; } #Gets or sets the rpki valid count value.
public Boolean AllRpkiValid { get; set; } #Gets or sets the all rpki valid value.
public Func<String, Task<ValueTuple<String, Int32, Boolean>>> QueryRpkiOverride { get; set; } #Optional override for RPKI lookups when testing.