1. 程式人生 > >郵件發送功能開發

郵件發送功能開發

第三版 升級 離開 消息 pac 教授 數據 操作 性能

作為一名.Net開發,"郵件發送"功能的開發和使用是必須要掌握的,因為這個功能作為“消息推送”的一種手段經常出現在各種.Net系統中,所以本文將對.Net平臺下的“郵件發送”,做一個細致的分析!

一、who需要郵件功能

1、服務提供方:需提供郵件收發客戶端或Web服務。如:QQ郵箱、GMail郵箱、126、163等知名郵件服務提供商。註:如果你使用的第三方不知名郵件服務商提供的郵件收發服務,通過其發出的郵件,可能會被其他知名郵件服務提供商的STMP服務器視為是"惡意郵件或垃圾郵件"!

2、消息推送:消息推送方

3、App:某些網站會員的註冊功能或者功能激活功能。

等等....

二、郵件協議

1、SMTP(Simple Mail Transfer Protocol) ---簡單郵件傳輸協議

它是一組用於源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式SMTP協議屬於TCP/IP協議簇,它幫助每臺計算機在發送或者中轉信件時找到下一個地址。通過SMTP協議指定的服務器地址,就可以把E-Mail寄到指定的收件人的服務器上了.整個過程只需要幾分鐘.它使用由TCP提供的可靠的數據傳輸服務把郵件消息從發信人的郵件服務器傳送到收信人的郵件服務器。

註:SMTP服務器是遵循SMTP協議的發送郵件,用來發送或者中轉發出的郵件。

詳細請參考百度百科

2、POP3(Post Office Protocol -Version3) ---郵局協議第三個版本

它是TCP/IP協議中的一員,由RFC1939 定義,這個協議主要支持客戶端遠程管理在服務器上的電子郵件。註:提供了SSL加密的POP3協議被稱為POP3S.

註:POP協議支持"離線"郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶程序用來連接服務端,並下載所有未閱讀的電子郵件。這種離線模式稱為存儲轉發模式,將郵件從服務器從郵件服務器送到個人終端上,一般是PC機或者MAC,一旦郵件發送到PC或者MAC上,存儲在服務器上的郵件會立刻被刪除,但目前的POP3郵件服務器都可以"只下載郵件,服務器端並不刪除.",也就是改進的POP3協議.OP適用於C/S結構的脫機模型的電子郵件協議,目前已發展POP3

到第三版,稱POP3。脫機模型即不能在線操作,POP不支持對服務器郵件進行擴展操作,此過程需要更高級的IMAP4協議來完成。支持POP協議使用ASCII碼來傳輸數據消息,這些數據消息可以是指令,也可以是應答。

詳細請參考百度百科

3、IMAP4(Internet Message Acess Protocol -Version4) ---交互式數據消息訪問協議第四個版本

IMAP協議是由斯坦福大學的Mark Crispin教授在1986年開發的,後期版本是華盛頓州立大學進行開發的,IMAP4是TCP/IP協議族中的一員,現在的版本是“IMAP第四版第一次修訂版”(IMAP4rev1)。IMAP4協議與POP3協議一樣也是規定個人計算機如何訪問網上的郵件的服務器進行收發郵件的協議,但是IMAP4協議同POP3協議相比更高級。IMAP4支持協議客戶機在線或者離開訪問並閱讀服務器上的郵件,還能交互式的操作服務器上的郵件。IMAP4協議更人性化的地方是不需要像POP3協議那樣把郵件下載到本地,用戶可以通過客戶端直接對服務器上的郵件進行操作(這裏的操作是指:在線閱讀郵件 在線查看郵件主題 大小 發件地址等信息)。用戶還可以在服務器上維護自己郵件目錄(維護是指移動)新建 刪除重命名共享 抓取文本 等操作)。IMAP4協議彌補了POP3協議的很多缺陷,,由RFC3501定義。本協議是用於客戶機遠程訪問服務器上電子郵件,它是郵件傳輸協議新的標準。

詳細請參考百度百科

三、郵箱分類

現階段的郵箱主要有以下幾種:免費郵箱、vip郵箱、域名郵箱、企業郵箱.......。

1、免費郵箱

“免費郵箱”是郵件商家為任何人免費提供的電子郵件傳輸服務,作為交換,該網站上你請求電子郵件服務和一些個人信息的地方會顯示廣告。它更適合個人生活和娛樂的需要,卻並非那麽註重郵箱的安全和功能。

部分免費郵件SMTP服務器參考設置:

Email類型

SMTP[Host]主服務器

Port[端口號]

是否可啟用SSL

Gmail(Google 的網絡郵件服務)

smtp.gmail.com

587

True

HotMail/Live

smtp.live.com

25

True

QQ/FoxMail(Foxmail被騰訊收購)

smtp.qq.com

25

False

126(網易)

smtp.126.com

25

False

163(網易)

smtp.163.com

25

False

Sina(新浪郵箱)

smtp.sina.com

25

False

Tom

smtp.tom.com

25

False

SoHu(搜狐郵箱)

smtp.sohu.com

25

False

Yahoo(雅虎郵箱)(已關閉)

smtp.mail.yahoo.com

25

False

2、vip郵箱

“vip郵箱”即郵件商家提供的收費版郵件服務,在速度、安全、穩定性、容量、附件大小限制、群發數等方面相對好些。其SMTP服務器設置就是多了個vip字符。eg:smtp.vip.qq.com。郵箱地址:[email protected]

3、域名郵箱

“域名郵箱”是個性化郵件服務,[email protected],前提是你需要一個域名(通常域名要收費)。功能比免費郵箱要多:可分配單個郵箱、規劃容量、更加的安全、更好的穩定性、個性化名稱、郵件發送量更大、附件大小限制等等。

4、企業郵箱

“企業郵箱”是域名郵箱,但通常是指通過付費方式獲得更好服務的郵箱。eg:您公司域名為www.abc.com,則SMTP服務器為:mail.abc.com,郵箱地址:[email protected]

使用企業郵箱的優勢:

1) 提升公司企業形象、郵箱穩定性、郵箱反垃圾反病毒性能、郵件收發速度;

2) 通過購買服務,能適應企業不斷升級需求;

3) 為員工分配(域名)企業郵箱,便於將流動員工所有業務聯系保留和延續下來;

4) 監控郵件(實際為郵件暗抄送功能),以防公司的機密和重要信息流失;

5) 獲得高性能郵件海外轉發功能,解決國際高效郵件收發、郵件營銷有效投遞等問題;

6) 出站電子郵件過濾,比如:敏感字過濾、基於政策郵件加密等等;

7) 等等。

四、.Net提供的關於郵件的類庫

在.Net2.0之前的版本,使用System.Web.Mail發送郵件,在2.0之後的版本,使用System.Net.Mail來發送郵件.2.0之後的版本主要用到了.Net2.0之後新增的兩個類,分別是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient兩個類,在SMTP身份驗證方面用到了System.Net.NetworkCredential類。

1、MailMessage

郵件發送功能開發