ASP.NET MVC 5之郵件服務(wù)器與客戶(hù)端
一、概述
首先必須清楚SMTP才是提供郵件服務(wù)器的核心,收發(fā)郵件全靠SMTP。不信你關(guān)掉hMailServer的POP3和IMAP,服務(wù)器照樣可以收發(fā)郵件。POP3和IMAP只是郵件服務(wù)器實(shí)現(xiàn)的用于提供郵件客戶(hù)端收取和管理郵件的兩種協(xié)議,其中POP3協(xié)議只能收取服務(wù)器上的郵件,而IMAP協(xié)議可供客戶(hù)端管理服務(wù)器上的郵件。目前幾乎所有的第三方服務(wù)器的SMTP都限制了發(fā)送配額等各種限制,并且?guī)缀跛械泥]件服務(wù)器都會(huì)檢測(cè)發(fā)送方的域名和IP是否匹配。簡(jiǎn)單說(shuō)就是別用第三方的進(jìn)行測(cè)試,也別用自建的locahost發(fā)郵件測(cè)試,到底怎么測(cè)試呢?在非服務(wù)器環(huán)境下的郵件發(fā)送測(cè)試,有3種方案:
(1)模擬郵件的發(fā)送,不真正發(fā)送郵件。把郵件發(fā)送的內(nèi)容寫(xiě)到日志文件等。
(2)模擬郵件的接收。使用localhost的SMTP發(fā)送郵件。使用SMTP4DEV等攔截接收郵件,配合windows live mail和Windows MBox Viewer等可以讀取eml格式的客戶(hù)端,可以得到正確格式的郵件,收件方不會(huì)接收到郵件。
(3)在有域名和服務(wù)器可用的前提下,設(shè)置域名MX并搭建郵件服務(wù)器,通過(guò)郵件服務(wù)器的SMTP進(jìn)行郵件的實(shí)際發(fā)送。可以通過(guò)收件方服務(wù)器的域名IP檢測(cè),但要配置好安全措施防止郵件服務(wù)器被利用。
發(fā)送郵件可以使用Windows Server 2008+的系統(tǒng)的SMTP功能,但沒(méi)有提供對(duì)POP3和IMAP協(xié)議的系統(tǒng)支持,因此無(wú)法使用客戶(hù)端訪問(wèn)郵件服務(wù)器。
如果我們希望使用客戶(hù)端訪問(wèn)郵件服務(wù)器,在Windows Server 2008+環(huán)境下和開(kāi)源免費(fèi)的前提下,目前最好的選擇就是hMailServer。如果你打算切換到hMailServer,一定要記得停用系統(tǒng)的SMTP服務(wù)。否則hMailServer無(wú)法監(jiān)聽(tīng)SMTP端口,就無(wú)法接收到郵件。
二、MX設(shè)置
MX設(shè)置的參考如下,在域名解析中配置:
在服務(wù)上檢查MX設(shè)置:
三、使用系統(tǒng)的SMTP功能發(fā)郵件:
以Windows Server 2008為例,SMTP功能的安裝和服務(wù)的設(shè)置比較簡(jiǎn)單,這里省略。
1.域名配置:
首先是域名:在傳遞—>高級(jí)中 設(shè)置
2.IP配置
3.通過(guò).NET發(fā)送郵件:
web.config配置:
發(fā)送代碼:
四、使用hMailServer收發(fā)郵件:hMailServer的安裝和漢化自行搞定。這里一定要記住,使用hMailServer必須同時(shí)使用SMTP和POP3,并且停止系統(tǒng)自帶的SMTP服務(wù),否則無(wú)法接收郵件。1.添加域名:
2.添加賬號(hào):
3.配置郵件遞交:
4.綁定IP:
5.配置IP范圍:圖中的Auto-ban是由于我的密碼過(guò)于簡(jiǎn)單并且在測(cè)試時(shí)的失敗造成hMailServer自動(dòng)屏蔽了服務(wù)器的IP,因此需要對(duì)該條限制進(jìn)行配置。其他情況下不需要這個(gè)步驟。
6.測(cè)試配置:
五、Web郵件客戶(hù)端客戶(hù)端收發(fā)郵件可以采用CS模式的Outlook Express和FoxMail,也可以采用163等BS模式的Web郵箱提供的代收功能接收郵件。hMailserver提供了郵件服務(wù)器的發(fā)送和接收郵件功能,并同時(shí)提供POP3和IMAP協(xié)議的支持。開(kāi)源免費(fèi)的Web郵件客戶(hù)端,非.NET的Web郵件客戶(hù)端實(shí)現(xiàn)較多,常用的如PHP的SquirrelMail和RoundCube。.NET下的Web郵件客戶(hù)端少的可憐,但實(shí)現(xiàn)相關(guān)收取協(xié)議組件庫(kù)還是不缺的。有時(shí)候需要在后臺(tái)中集成郵件的管理功能,可以直接使用這些組件,如ImapX等。1.集成郵件列表功能:
2.標(biāo)記已讀未讀:
3.刪除郵件:
4.界面參考:
發(fā)送郵件和回復(fù)郵件涉及到通訊錄、草稿和附件等要相對(duì)復(fù)雜一些,看需求是否有必要集成完整的功能,畢竟組件庫(kù)已經(jīng)提供了完整的功能,我們只需要對(duì)其包裝和調(diào)用,配合界面操作就可以了,其中構(gòu)建一個(gè)完善的支持Ajax的Web客戶(hù)端界面的難點(diǎn)不在后臺(tái)實(shí)現(xiàn)上,而在前臺(tái),與主題關(guān)系不大。有興趣的可以自己實(shí)現(xiàn)。
- Asp.net發(fā)送郵件的兩種方法小結(jié)
- 在asp.NET 中使用SMTP發(fā)送郵件的實(shí)現(xiàn)代碼
- asp.net2.0實(shí)現(xiàn)郵件發(fā)送(測(cè)試成功)
- 在ASP.NET2.0中通過(guò)Gmail發(fā)送郵件的代碼
- Asp.Net類(lèi)庫(kù)中發(fā)送電子郵件的代碼
- 用ASP.NET做的個(gè)性化的郵件發(fā)送系統(tǒng)
- asp.net mvc發(fā)送郵件實(shí)例講解
- ASP.NET Core 1.0實(shí)現(xiàn)郵件發(fā)送功能
- asp.net基于windows服務(wù)實(shí)現(xiàn)定時(shí)發(fā)送郵件的方法
- ASP.NET郵件發(fā)送system.Net.Mail案例
- 創(chuàng)建基于ASP.NET的SMTP郵件服務(wù)的具體方法
- asp.net實(shí)現(xiàn)的群發(fā)郵件功能詳解
相關(guān)文章
asp.net用三層實(shí)現(xiàn)多條件檢索示例
三層將項(xiàng)目分為界面層,業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層,下面為大家介紹下asp.net如何用三層實(shí)現(xiàn)多條件檢索,感興趣的朋友可以參考下2014-07-07一個(gè)比較通用的分頁(yè)控件,完整的設(shè)計(jì)時(shí)支持和比較流行的分頁(yè)模式(提供源碼下載)
本分頁(yè)控件還包含簡(jiǎn)單屬性,復(fù)雜屬性,自定義視圖狀態(tài),分頁(yè)事件,創(chuàng)建控件,render控件,Attribute,設(shè)計(jì)時(shí)支持等比較齊全的自定義控件的元素,是個(gè)不錯(cuò)學(xué)習(xí)自定義控件開(kāi)發(fā)的例子2010-12-12MVC HtmlHelper擴(kuò)展類(lèi)(PagingHelper)實(shí)現(xiàn)分頁(yè)功能
這篇文章主要為大家詳細(xì)介紹了MVC HtmlHelper擴(kuò)展,實(shí)現(xiàn)分頁(yè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05DropDownList根據(jù)下拉項(xiàng)的Text文本序號(hào)排序
在某些時(shí)候表中沒(méi)有可以排序的字段同時(shí)呢也不想修改表結(jié)構(gòu),但它的項(xiàng)文本有序號(hào)這時(shí)就可以用這方法排序,感興趣的你可以參考下,或許本文知識(shí)點(diǎn)對(duì)你有所幫助2013-03-03