Simple Mail Transport Protocol

The EMail protocol involved in sending messages (typically from sending-user to sender's server to recipient's server).

A server which uses SMTP is typically called a Mail Transport Agent (MTA).

There are a number of Open Source MTA apps (SendMail, PostFix, Q Mail, Ex Im). This piece provides a very short comparison.

VERP: Variable Envelope Return Path

The protocols associated with reading EMail are POP and IMAP.

notes on writing code to send messages

get better performance from holding single SMTP connection object for multiple messages sent

  • but if a send fails (because of bad address or something) the connection often gets hosed (e.g. your next 'send' gets a 'nested command' error or something like that)

    • so typically call 'quit' on the connection

    • so have to re-create a connection or the next send in the batch will fail

    • or is there a 'reset' function I could use instead of 'quit'?

      • there's a low-level 'RSET' command, but will avoid for now
  • conclusion: just use a separate connection per message for now (I would welcome input from a Python guru...)

Edited: |