Simple Mail Transfer Protocol implementation.

Interface IMessageDelivery No interface docstring; 3/3 methods documented
Interface IMessageDeliveryFactory An alternate interface to implement for handling message delivery.
Class SMTPError Undocumented
Class SMTPClientError Base class for SMTP client errors.
Class ESMTPClientError Base class for ESMTP client errors.
Class EHLORequiredError The server does not support EHLO.
Class AUTHRequiredError Authentication was required but the server does not support it.
Class TLSRequiredError Transport security was required but the server does not support it.
Class AUTHDeclinedError The server rejected our credentials.
Class AuthenticationError An error occurred while authenticating.
Class TLSError An error occurred while negiotiating for transport security.
Class SMTPConnectError Failed to connect to the mail exchange host.
Class SMTPTimeoutError Failed to receive a response from the server in the expected time period.
Class SMTPProtocolError The server sent a mangled response.
Class SMTPDeliveryError Indicates that a delivery attempt has had an error.
Class SMTPServerError Undocumented
Class SMTPAddressError Undocumented
Class SMTPBadRcpt Undocumented
Class SMTPBadSender Undocumented
Function rfc822date Format an RFC-2822 compliant date string.
Function idGenerator Undocumented
Function messageid Return a globally unique random string in RFC 2822 Message-ID format
Function quoteaddr Turn an email address, possibly with realname part etc, into a form suitable for and SMTP envelope.
Class AddressError Parse error in address
Class Address Parse and hold an RFC 2821 address.
Class User Hold information about and SMTP message recipient, including information on where the message came from
Interface IMessage Interface definition for messages that can be sent via SMTP.
Class SMTP SMTP server-side protocol.
Class SMTPFactory Factory for SMTP.
Class SMTPClient SMTP client for sending emails.
Class ESMTPClient A client for sending emails over ESMTP.
Class ESMTP No class docstring; 3/12 methods documented
Class SenderMixin Utility class for sending emails easily.
Class SMTPSender SMTP protocol that sends a single email based on information it gets from its factory, a SMTPSenderFactory.
Class SMTPSenderFactory Utility factory for sending emails easily.
Class LOGINCredentials LOGINCredentials generates challenges for LOGIN authentication.
Class PLAINAuthenticator Undocumented
Class ESMTPSender Undocumented
Class ESMTPSenderFactory Utility factory for sending emails easily.
Function sendmail Send an email.
Function xtext_encode Undocumented
Function xtext_decode Decode the xtext-encoded string s.
Class xtextStreamReader Undocumented
Class xtextStreamWriter Undocumented
Function xtext_codec Undocumented
def rfc822date(timeinfo=None, local=1): (source)

Format an RFC-2822 compliant date string.

Parameterstimeinfo(optional) A sequence as returned by time.localtime() or time.gmtime(). Default is now.
local(optional) Indicates if the supplied time is local or universal time, or if no time is given, whether now should be local or universal time. Default is local, as suggested (SHOULD) by rfc-2822.
ReturnsA string representing the time and date in RFC-2822 format.
def idGenerator(): (source)
Undocumented
def messageid(uniq=None, N=idGenerator().next): (source)

Return a globally unique random string in RFC 2822 Message-ID format

<datetime.pid.random@host.dom.ain>

Optional uniq string will be added to strengthen uniqueness if given.

def quoteaddr(addr): (source)

Turn an email address, possibly with realname part etc, into a form suitable for and SMTP envelope.

def sendmail(smtphost, from_addr, to_addrs, msg, senderDomainName=None, port=25, reactor=reactor, username=None, password=None, requireAuthentication=False, requireTransportSecurity=False): (source)

Send an email.

This interface is intended to be a replacement for smtplib.SMTP.sendmail and related methods. To maintain backwards compatibility, it will fall back to plain SMTP, if ESMTP support is not available. If ESMTP support is available, it will attempt to provide encryption via STARTTLS and authentication if a secret is provided.

ParameterssmtphostThe host the message should be sent to. (type: bytes)
from_addrThe (envelope) address sending this mail. (type: bytes)
to_addrsA list of addresses to send this mail to. A string will be treated as a list of one address.
msgThe message, including headers, either as a file or a string. File-like objects need to support read() and close(). Lines must be delimited by '\n'. If you pass something that doesn't look like a file, we try to convert it to a string (so you should be able to pass an email.Message directly, but doing the conversion with email.Generator manually will give you more control over the process).
senderDomainNameName by which to identify. If None, try to pick something sane (but this depends on external configuration and may not succeed). (type: bytes)
portRemote port to which to connect. (type: int)
usernameThe username to use, if wanting to authenticate. (type: bytes)
passwordThe secret to use, if wanting to authenticate. If you do not specify this, SMTP authentication will not occur. (type: bytes)
requireTransportSecurityWhether or not STARTTLS is required. (type: bool)
requireAuthenticationWhether or not authentication is required. (type: bool)
reactorThe reactor used to make the TCP connection.
ReturnsA cancellable Deferred, its callback will be called if a message is sent to ANY address, the errback if no message is sent. When the cancel method is called, it will stop retrying and disconnect the connection immediately.

The callback will be called with a tuple (numOk, addresses) where numOk is the number of successful recipient addresses and addresses is a list of tuples (address, code, resp) giving the response to the RCPT command for each address.

(type: Deferred)
def xtext_encode(s, errors=None): (source)
Undocumented
def xtext_decode(s, errors=None): (source)

Decode the xtext-encoded string s.

def xtext_codec(name): (source)
Undocumented
API Documentation for Twisted, generated by pydoctor at 2016-04-04 15:02:49.