In theory, the set of Request For Comments (RFC) contain everything that a developer needs to know to build an SMTP client. However, it is not always easy to know which RFCs need to be considered and which ones can be ignored.
Does anyone have an RFC roadmap to steer developers through this? By RFC roadmap, I mean:
- A complete list of RFCs that need to be read and understood, in order to develop an SMTP client.
- An indication of which RFCs no longer need to be considered, because they have been superseded.
- A summary of the relevant RFCs.
- Detail on how the relevant RFCs interrelate to each other.
- An indication of the logical order to read and understand the relevant RFCs.
You should read RFC 5321 first, followed by RFC 5322... assuming you already know how to handle DNS queries.
The old answer used to be read 2821, then 2822... but it seems that it's been updated.
The Wikipedia article has a good list of related RFCs.