5

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.
Robert Harvey
  • 178,213
  • 47
  • 333
  • 501
Mike Green
  • 2,031
  • 2
  • 18
  • 16

2 Answers2

4

The Wikipedia article has a good list of related RFCs.

Martin v. Löwis
  • 124,830
  • 17
  • 198
  • 235
2

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.

makerofthings7
  • 60,103
  • 53
  • 215
  • 448
  • That’s really why I asked the question. It is all too easy to focus on an RFC, only to find later that most or all of it has been superseded by another RFC. Then of course there is the issue of lag, when SMTP servers implement the RFCs. Because of that implementation lag, it is sometimes necessary to not forget what is contained in old RFCs, even though, in standards settings terms, they have been superseded. – Mike Green Feb 06 '11 at 18:28
  • The benefit is that these new RFC's clarify old language, and are more complete. Since you're only building a SMTP client, not a spam engine, or MTA this should be pretty much all you need. This gets much more complicated if your writing say an MTA or a spam engine. While many anit-spam techniques are public, many aren't – makerofthings7 Feb 06 '11 at 18:46
  • The new versions also generally outline what has changed and how (if at all) you should adapt. Once an old RFC has been obsoleted, it should be fairly safe to stick to the new one. – tripleee Aug 19 '12 at 20:13