twisted.mail.relaymanager.MXCalculator class documentationtwisted.mail.relaymanager
          View Source
          (View In Hierarchy)
        
      A utility for looking up mail exchange hosts and tracking whether they are working or not.
| Instance Variable | clock | A reactor which will be used to schedule timeouts. (type: IReactorTimeprovider) | 
| Instance Variable | resolver | A resolver. (type: IResolver) | 
| Instance Variable | badMXs | A mapping of non-functioning mail exchange hostname to time at which 
another attempt at contacting it may be made. (type: dictmappingbytestofloat) | 
| Instance Variable | timeOutBadMX | Period in seconds between attempts to contact a non-functioning mail 
exchange host. (type: int) | 
| Instance Variable | fallbackToDomain | A flag indicating whether to attempt to use the hostname directly when no 
mail exchange can be found ( True) or not (False). (type:bool) | 
| Method | __init__ | |
| Method | markBad | Record that a mail exchange host is not currently functioning. | 
| Method | markGood | Record that a mail exchange host is functioning. | 
| Method | getMX | Find the name of a host that acts as a mail exchange server for a domain. | 
| Method | _filterRecords | Organize the records of a DNS response by record name. | 
| Method | _cbMX | Try to find the mail exchange host for a domain from the given DNS records. | 
| Method | _ebMX | Attempt to use the name of the domain directly when mail exchange lookup fails. | 
int)
  True) or not (False). (type: bool)
  | Parameters | A resolver. | |
| clock | A reactor which will be used to schedule timeouts. (type: IReactorTimeprovider orNoneType) | |
Record that a mail exchange host is not currently functioning.
| Parameters | mx | The hostname of a mail exchange host. (type: bytes) | 
Record that a mail exchange host is functioning.
| Parameters | mx | The hostname of a mail exchange host. (type: bytes) | 
Find the name of a host that acts as a mail exchange server for a domain.
| Parameters | domain | A domain name. (type: bytes) | 
| maximumCanonicalChainLength | The maximum number of unique canonical name records to follow while looking
up the mail exchange host. (type: int) | |
| Returns | A deferred which succeeds with the MX record for the mail exchange server 
for the domain or fails if none can be found. (type: Deferredwhich successfully fires withRecord_MX) | |
Organize the records of a DNS response by record name.
| Parameters | records | Answer resource records, authority resource records and additional resource
records. (type: 3- tupleof (0)listofRRHeader, (1)listofRRHeader, (2)listofRRHeader) | 
| Returns | A mapping of record name to record payload. (type: dictmappingbytestolistofIRecordprovider) | |
Try to find the mail exchange host for a domain from the given DNS records.
This will attempt to resolve canonical name record results. It can recognize loops and will give up on non-cyclic chains after a specified number of lookups.
| Parameters | answers | A mapping of record name to record payload. (type: dictmappingbytestolistofIRecordprovider) | 
| domain | A domain name. (type: bytes) | |
| cnamesLeft | The number of unique canonical name records left to follow while looking up
the mail exchange host. (type: int) | |
| Returns | An MX record for the mail exchange host or a failure if one cannot be 
found. (type: Record_MXorFailure) | |
Attempt to use the name of the domain directly when mail exchange lookup fails.
| Parameters | failure | The reason for the lookup failure. (type: Failure) | 
| domain | The domain name. (type: bytes) | |
| Returns | An MX record for the domain or a failure if the fallback to domain option 
is not in effect and an error, other than not finding an MX record, 
occurred during lookup. (type: Record_MXorFailure) | |
| Raises | IOError | When no MX record could be found and the fallback to domain option is not in effect. | 
| DNSLookupError | When no MX record could be found and the fallback to domain option is in effect but no address for the domain could be found. | |