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

时间:2010-09-22 01:35:40

标签: language-agnostic email network-programming smtp

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

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

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

编辑:请随意妥善保管。

1 个答案:

答案 0 :(得分:4)

编辑:我按主题提供了一些标题和划分的RFC。我希望现在更容易获得。这是一个非常清单,我希望我可以更好地格式化它,但不幸的是,这就是它。

既然你提到你真的不知道你需要什么,请让我澄清一下:

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

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

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

互联网邮件格式(也定义了电子邮件地址格式)

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

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


<强> SMTP

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

更新到SMTP / RF821

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

<强> SMTP-AUTH

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的AUTH-RESP-CODE

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