.NET環境下幾種不同的郵件發送解決方案_.Net教程
推薦:VB.NET實現窗體圖標最小化到狀態欄本文所使用的編程環境是Microsoft Visual Studio 2005,首先打開 Visual Studio。在文件 (File) 菜單上,單擊新建項目 (New Project)。 在新建項目 (New Project) 對話框的模板 (Templates) 窗
1、使用outLook提供的發送
如:我見過的用友軟件U8生產制造(演示版),其中的郵件功能就是通過調用outLook的ActiveX 組件
優點:開發簡單
缺點:依賴outlook組件,SMTP 郵件服務
郵件發送的代碼如下:
以下為引用的內容: Private Sub Send() Dim outObj As New Outlook.Application() Dim Item As Outlook.MailItemClass Item = outObj.CreateItem(0) Item.To = "lihonggen0@163.com " Item.Subject = "hello" Item.Body = "hell" Item.Attachments.Add("C:\abc.txt") Item.Send() End SubPrivate Sub Send() Dim outObj As New Outlook.Application() Dim Item As Outlook.MailItemClass Item = outObj.CreateItem(0) Item.To = "lihonggen0@163.com " Item.Subject = "hello" Item.Body = "hell" Item.Attachments.Add("C:\abc.txt") Item.Send() End Sub |
2、WEB開發,在ASP.Net中引用System.Web.Mail類
System.Web.Mail 命名空間包含使您可以使用 CDOSYS(Windows 2000 的協作數據對象)消息組件來構造和發送消息的類。郵件消息是通過內置在 Microsoft Windows 2000 中的 SMTP 郵件服務或任意的 SMTP 服務器來傳送的。此命名空間中的類可以在 ASP.Net 或任何托管應用程序
MailAttachment提供用于構造電子郵件附件的屬性和方法。
MailMessage提供用于構造電子郵件的屬性和方法。
SmtpMail提供用于使用 Windows 2000 的協作數據對象 (CDOSYS) 消息組件來發送消息的屬性和方法。
郵件可以通過 Microsoft Windows 2000 中內置的 SMTP 郵件服務或任意 SMTP 服務器來傳送。System.Web.Mail 命名空間中的類型可以在 ASP.Net 或任何托管應用程序使用。
Smtp服務器的設置,現在一些免費郵件提供商是不再提供針對所有郵件提供Smtp服務,在發送郵件的時候,需要驗證用戶信息,考慮Smtp用戶驗證問題
如果Smtp服務器在本地計算機,發送速度很快的,基本上不用擔心,如果不是本地服務器,那么發送的時候最好不要以此太多,一是速度問題,二是以此發送太多郵件,Smtp服務器可能認為是垃圾郵件而拒絕服務
代碼如下:
以下為引用的內容: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim mailObj As New MailMessage() Dim smtp As SmtpMail '定義SMTP服務器的名稱 smtp.SmtpServer = "smtp.XXX.com" '定義郵件的發送地址 mailObj.From = "lihonggen@XXX.com" '定義郵件的接收地址 mailObj.To = " AAA@XXX.com" '定義郵件的暗送地址 mailObj.Bcc= "aa@sina.com" '定義郵件的抄送地址 mailObj.Cc = "aaa@sina.com" '定義郵件的主題 mailObj.Subject = "主題" '定義郵件的主體 mailObj.Body = "郵件主體!" '郵件以 HTML的格式發送 mailObj.BodyFormat = MailFormat.Html '定義郵件的有限級,在此設定為高 mailObj.Priority = MailPriority.High '給發送的郵件附加上一個附件 mailObj.Attachments.Add(New MailAttachment("c:\aa.doc")) smTp.Send(mailObj) End Sub |
3、在VB.Net或C#開發Windows 應用程序中使用System.Net.Sockets
也是基于SMTP協議
一、SMTP協議簡介
1、 客戶端通過服務器的25端口建立TCP/IP連接
服務器端: 220 server.com Simple Mail Transfer Service Ready
2、 客戶端使用“HELO”命令標識發件人
客戶端:HELO server.com
服務器端:250 server.com
3、 客戶端發送MAIL命令,服務器端以OK作為響應表明準備接收
客戶端: MAIL FROM: 〈A@B.com〉
服務器端: 250 OK
4、 客戶端發送RCPT命令標識收件人,服務器端回應是否愿意為收件人接受郵件
客戶端:RCPT TO: 〈c@d.com〉
服務器端:250 OK
5、 協商結束后用命令DATA發送發送郵件
客戶端:DATA
服務器端:354 Start mail input: end with 〈CRLF〉.〈CRLF〉
6、 客戶端以.表示結束輸入內容一起發送出去
客戶端:Subject: 〈CRLF〉
內容〈CRLF〉
.〈CRLF〉
分享:AJAX使用技巧:如何處理書簽和翻頁按扭本篇文章提供了一個開源JavaScript庫,它提供了給AJAX應用程序中添加書簽和會退按鈕的功能。在學習完這個教程后,開發者將能夠對開發AJAX應用碰到的問題獲得一個解決方案,這個特性甚至Google M
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-.NET環境下幾種不同的郵件發送解決方案。