prepares single stream chunk of command data terminated by crlf to send *
computes cram md5 hash, yields to None on invalid Nonce.
computes cram md5 hash, yields to None on invalid Nonce. *
issues EHLO $domain command *
Encodes mail body based on supplied body and header.
Encodes mail body based on supplied body and header.
Header to encode before the message. Note this will strp any Content-Type header from the email header and instead this will use Content-Type from the supplied body.
Body to send to client
Codec for the email header
Codec for the mime header
Encodes the supplied character body as single MIME text email body.
Encodes the supplied character body as single MIME text email body.
The type of the charset and encoding is queried from email header, if not present then
text/plain
and UTF8 will be used.
Header
Text to encode
codec to encode email header
codec to encode mime header
Performs initial handshake, that is expects server to deliver single line of welcome message.
Performs initial handshake, that is expects server to deliver single line of welcome message. Terminates once that message was delivered or when timeout is exceeded. Also may terminate with failure
SMTP RFC requires that each line starting with .
SMTP RFC requires that each line starting with . (dot) shall be prepended with another dot, unless the don indicates end of input for DATA command section.
This facilites that requirement.
Performs AUTH LOGIN command .
Performs AUTH LOGIN command . UserName and password are Base64 encdoed and sent to server
Name of the user
password
logins via cram-md5 *
Performs AUTH PLAIN login command.
Performs AUTH PLAIN login command.
Authorization id
Authenitcation id
Password
wraps from email *
issues QUIT command *
Specifies which emails will actually recieve the email.
Specifies which emails will actually recieve the email. *
Read response lines of input as they come in.
Read response lines of input as they come in. Lines are expected to be terminated with \r\n and starts with result code, following informative text.
If the code follows with - (i.e. 250-SIZE) this will not terminate and will start other line. It the code follows with spacce, then this terminates.
It assumes the server never sends more data than very last \r\n, as the other data received will be discarded.
Sends mail from given address, header and body.
Sends mail from given address, header and body.
Source address
Recipients of the email
Content of the email, including the header
Sends given lines of data to server (adjusting them according to RFC transparency Note that supplied chunks must be exactly one size of the length Returns any response of the server as received.
Sends given lines of data to server (adjusting them according to RFC transparency Note that supplied chunks must be exactly one size of the length Returns any response of the server as received. This will accumulate all the lines receved from the server, i.e. on EHLO command
Timeout to wait for server to respond
A semaphore preventing concurrent sends.
Data to sent
Sends to SMTP server the intention of sending some data to given recipients.
Sends to SMTP server the intention of sending some data to given recipients.
The addresses that should recieve the email.
encodes to base64 termiated with crlf *
signal tx failed *
assures mail is always in <> *