编写一个简单的邮件服务器

Cla*_*bel 6 language-agnostic email network-programming smtp

关于创建电子邮件服务器,我将有什么好的起点?

基本上,我想做的是让服务器(如foo.com)为我收到邮件,所以如果我发送电子邮件到(blah@foo.com),它会将电子邮件的内容转储到/ mail/blah /主题,然后将其发送到我的真实电子邮件帐户.

我希望将此作为编程练习,因此链接到RFC等会很不错.重新发明轮子是学习轮子的好方法.

编辑:随意适当地重新录制.

Jim*_*som 6

编辑:我提供了一些标题并按主题划分 RFC。我希望现在更容易访问。这是一个相当大的列表,我希望我能更好地格式化它,但不幸的是,仅此而已。

既然您提到您并不真正知道自己需要什么,那么让我澄清一下:

  • 如果您只想实现一个位于 MUA(电子邮件客户端)和“真实”服务器之间的简单“代理”服务器,那么您可能可以只实现基本的 SMTP 功能。这将允许您发送邮件,即向 MTA 提交邮件。

  • POP3 用于电子邮件客户端从服务器上拉取消息,而 IMAP 是 POP3 的替代方案,其功能集略有不同,主要提供在线或离线模式,可以视为管理远程文件夹(即邮箱)。

  • MIME 指定存在多部分消息、附件等的电子邮件消息内容的格式。

互联网消息格式(还定义电子邮件地址格式)

http://www.faqs.org/rfcs/rfc822.html

http://www.faqs.org/rfcs/rfc2822.html


邮件发送

http://www.faqs.org/rfcs/rfc821.html

更新到 SMTP/RF821

http://www.faqs.org/rfcs/rfc5321.html

SMTP-身份验证

http://www.faqs.org/rfcs/rfc2554.html

消息提交(即应用程序充当 MUA):

http://www.faqs.org/rfcs/rfc2476.html


IMAPv4

http://www.faqs.org/rfcs/rfc1730.html

IMAPv4rev1

http://www.faqs.org/rfcs/rfc2060.html


POP3

http://www.faqs.org/rfcs/rfc1081.html

http://www.faqs.org/rfcs/rfc1939.html

http://www.faqs.org/rfcs/rfc1957.html

POP3 扩展

http://www.faqs.org/rfcs/rfc2449.html

POP/IMAP 授权

http://www.faqs.org/rfcs/rfc2195.html

POP3 和 IMAP 的 TLS

http://www.faqs.org/rfcs/rfc2595.html

POP3 的验证响应代码

http://www.faqs.org/rfcs/rfc3206.html

POP3简单认证

http://www.faqs.org/rfcs/rfc5034.html


MIME,由 5 个 RFC 组成:

http://www.faqs.org/rfcs/rfc2045.html

http://www.faqs.org/rfcs/rfc2046.html

http://www.faqs.org/rfcs/rfc2047.html

http://www.faqs.org/rfcs/rfc4288.html

http://www.faqs.org/rfcs/rfc4289.html

http://www.faqs.org/rfcs/rfc2049.html

  • 链接有点随意。RFC5321 取代了 2821,而 2821 又取代了 821;所以821和2821已经不再具有历史意义了。同样,RFC5322 取代了 2822,而 2822 又取代了 822。 (3认同)