2009-11-07 127 views
4

我正在寫一個簡單的SMTP服務器和客戶端。服務器分爲兩部分:receiver-SMTP和發件人SMTP。兩者都將運行在兩個不同的守護進程服務中。可以運行的兩種模式是「遠程」和「本地」。寫我自己的SMTP服務器

因爲我是網絡編程的新手,所以我很難入門。任何SMTP文本,樣本或框架代碼的幫助將幫助我清除我的疑惑,

+0

如果你的目標是學習目前的範例,我會建議一個不同的協議。 SMTP有很多歷史性的行李。如果你想使用電子郵件,我的建議是HTTP或者一些小的專用協議,比如SpamAssassin SPAMC協議。 POP3也是一個簡單的,明確規定的協議的好候選(儘管其侷限性也很明顯)。 – tripleee 2012-12-18 09:30:16

回答

1

如果您在C中編寫此代碼,請在網絡編程和套接字上以this guide開頭。編寫這樣的服務器並不簡單,需要大量的背景知識。

當您對套接字感到滿意後,請安裝WireShark,一些開放源代碼的SMTP服務器,並嘗試發送一些標準的SMTP請求 - 看看它是如何響應的。這種「探索」在實施協議時非常有價值。

1

簡單的答案是谷歌的開源smtp,嘗試找到你想要實現自己的語言的現有項目,或者你可以閱讀和理解的語言,然後通過代碼來獲得你需要的理解

像sourceforge,freshmeat github,bitbucket的網站將有項目,範圍從小到大。你也可以嘗試一些其他的軟件庫,如PHPClasses,CPAN等(再次取決於你選擇的語言)。

您還可以嘗試開源搜索,如Krugle。

另一個參考將是SMTP RFC RFC 821這將給你你寫的標準,無論語言。

+2

自從RFC 821發佈以來,它已經被淘汰了很多次。 SMTP協議的最後一個標準是RFC5321(ftp://ftp.rfc-editor.org/in-notes/rfc5321.txt)。 – 2009-11-07 17:33:45