Simple Mail Transport Protocol
The EMail protocol involved in sending messages (typically from sending-user to sender's server to recipient's server).
- article on mimicing via Telnet - good for testing servers - oops that has disappeared
- to make it easier to track bounce messages associated with forwarded emails
- PostFix http://www.postfix.org/VERP_README.html
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...)
Back in 2008 I wrote Python code to process email blocks/errors
- we were sending email to 1M people
- we were just writing code to push to PostFix which did the sending
- we didn't have any hooks catching responses in realtime
- so I wrote code which scraped (by parsing the files)
- (these days, to get decent deliverability, you probably have to use an ESP, and they handle all this automatically, though you might have to do work if you want to dig into the data on blocked accounts)
Edited: | Tweet this!