编写自己的SMTP服务器

时间:2009-11-07 08:42:02

标签: c smtp

我正在编写一个简单的SMTP服务器和客户端。服务器分为两部分:receiver-SMTP和Sender SMTP。两者都将在两个不同的守护进程服务中运行。可以运行的两种模式是“远程”和“本地”。

由于我是网络编程的新手,我甚至难以入门。任何形式的SMTP文本,示例或框架代码的帮助都将帮助我清除疑虑,

3 个答案:

答案 0 :(得分:2)

如果您的主要动机是学习网络编程和编写守护进程,那么我建议您阅读Beej's Guide to Network ProgrammingAdvanced Programming in the Unix Environment。这些不提供直接的SMTP实现,但将为实现任何协议提供良好的基础。

答案 1 :(得分:1)

如果您已开始在C中编写此内容,请在网络编程和套接字上以this guide开头。编写这样的服务器并不简单,需要大量的背景知识。

在您对套接字感到满意之后,安装WireShark,一些开源SMTP服务器并尝试向其发送一些标准SMTP请求 - 看看它是如何响应的。在实施协议时,这种“探索”非常有价值。

答案 2 :(得分:1)

简单的答案是google for open source smtp,尝试查找一个现有项目,该项目使用您想要实现自己的语言,或者使用您可以阅读和理解的语言,然后完成代码获得你需要的理解

像sourceforge,freshmeat github,bitbucket这样的网站将会有从小到大的项目。你也可以尝试一些其他的存储库,如PHPClasses,CPAN等(再次取决于你选择的语言)。

您也可以尝试开源搜索,例如Krugle。

另一个参考是SMTP RFC RFC 821,它将为您提供您正在编写的标准,无论语言如何。