一、概述
首先必須清楚SMTP才是提供郵件服務器的核心,收發郵件全靠SMTP。不信你關掉hMailServer的POP3和IMAP,服務器照樣可以收發郵件。POP3和IMAP只是郵件服務器實現的用於提供郵件客戶端收取和管理郵件的兩種協議,其中POP3協議只能收取服務器上的郵件,而IMAP協議可供客戶端管理服務器上的郵件。目前幾乎所有的第三方服務器的SMTP都限制了發送配額等各種限制,並且幾乎所有的郵件服務器都會檢測發送方的域名和IP是否匹配。簡單說就是別用第三方的進行測試,也別用自建的locahost發郵件測試,到底怎麼測試呢?在非服務器環境下的郵件發送測試,有3種方案:
(1)模擬郵件的發送,不真正發送郵件。把郵件發送的內容寫到日志文件等。
(2)模擬郵件的接收。使用localhost的SMTP發送郵件。使用SMTP4DEV等攔截接收郵件,配合windows live mail和Windows MBox Viewer等可以讀取eml格式的客戶端,可以得到正確格式的郵件,收件方不會接收到郵件。
(3)在有域名和服務器可用的前提下,設置域名MX並搭建郵件服務器,通過郵件服務器的SMTP進行郵件的實際發送。可以通過收件方服務器的域名IP檢測,但要配置好安全措施防止郵件服務器被利用。
發送郵件可以使用Windows Server 2008+的系統的SMTP功能,但沒有提供對POP3和IMAP協議的系統支持,因此無法使用客戶端訪問郵件服務器。
如果我們希望使用客戶端訪問郵件服務器,在Windows Server 2008+環境下和開源免費的前提下,目前最好的選擇就是hMailServer。如果你打算切換到hMailServer,一定要記得停用系統的SMTP服務。否則hMailServer無法監聽SMTP端口,就無法接收到郵件。
二、MX設置
MX設置的參考如下,在域名解析中配置:
在服務上檢查MX設置:
三、使用系統的SMTP功能發郵件:
以Windows Server 2008為例,SMTP功能的安裝和服務的設置比較簡單,這裡省略。
1.域名配置:
首先是域名:在傳遞—>高級中 設置
2.IP配置
3.通過.NET發送郵件:
web.config配置:
發送代碼:
四、使用hMailServer收發郵件:hMailServer的安裝和漢化自行搞定。這裡一定要記住,使用hMailServer必須同時使用SMTP和POP3,並且停止系統自帶的SMTP服務,否則無法接收郵件。1.添加域名:
2.添加賬號:
3.配置郵件遞交:
4.綁定IP:
5.配置IP范圍:圖中的Auto-ban是由於我的密碼過於簡單並且在測試時的失敗造成hMailServer自動屏蔽了服務器的IP,因此需要對該條限制進行配置。其他情況下不需要這個步驟。6.測試配置:
五、Web郵件客戶端客戶端收發郵件可以采用CS模式的Outlook Express和FoxMail,也可以采用163等BS模式的Web郵箱提供的代收功能接收郵件。hMailserver提供了郵件服務器的發送和接收郵件功能,並同時提供POP3和IMAP協議的支持。開源免費的Web郵件客戶端,非.NET的Web郵件客戶端實現較多,常用的如PHP的SquirrelMail和RoundCube。.NET下的Web郵件客戶端少的可憐,但實現相關收取協議組件庫還是不缺的。有時候需要在後台中集成郵件的管理功能,可以直接使用這些組件,如ImapX等。1.集成郵件列表功能:2.標記已讀未讀:
3.刪除郵件:
4.界面參考:
發送郵件和回復郵件涉及到通訊錄、草稿和附件等要相對復雜一些,看需求是否有必要集成完整的功能,畢竟組件庫已經提供了完整的功能,我們只需要對其包裝和調用,配合界面操作就可以了,其中構建一個完善的支持Ajax的Web客戶端界面的難點不在後台實現上,而在前台,與主題關系不大。有興趣的可以自己實現。