Read RFCs

I am currently working on Hyvor Relay, an open-source email sending platform. Years ago, I learned the web (HTTP) while learning programming. I never read RFCs (Request For Comments). I picked up HTTP concepts piece by piece from different resources. However, I only had a limited time to learn SMTP and work on Hyvor Relay. So, I had to find a better way.

Compared to HTTP, SMTP has fewer resources. After reading many blog posts on SMTP, I understood the surface, but the knowledge was scattered. I did not feel fully confident to implement an SMTP client.... until I read the SMTP RFC, RFC 5321.

I now think it is better to spend time actually reading RFCs. My arguments are:

  • They are the standard.

  • They cover everything. Blog posts are usually a part of them.

  • They are well-reviewed.

  • They acknowledge the industry. For example, the current SMTP RFC mentions MTA (Mail Transfer Agents), which is a term created within the industry rather than originating from a standard.

Need to be aware that:

  • A concept usually needs multiple RFCs. For example, email sending needs SMTP and MIME. But also, low-level ones like IP/TCP. You have to decide which ones to read. Those network-level RFCs wouldn’t hurt since networks are everywhere!

  • Some RFCs are obsolete. Read the latest standards.

Resources:

So, read RFCs. It’s like reading a manual for a tool you love!

Comments