亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

.NET環境下幾種不同的郵件發送解決方案

2019-11-18 19:15:18
字體:
來源:轉載
供稿:網友
 
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 Sub
參考:使用 Microsoft Outlook 2002 開發解決方案http://www.microsoft.com/china/msdn/library/dndotnetout2k2/html/odc_oldevsol.asp
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>
7、客戶端用QUIT命令退出。
        客戶端:QUIT
服務器端:250 server.com closing transmission channel
優點:可以在此基礎上開發出自己的組件,利用Sockets我們可以進行網絡編程開發
缺點:程序量相對較多,
發送郵件的代碼如下:
        Dim sendData As String
        Dim szData As Byte()
        Dim CRLF As String
        CRLF = "/r/n"
        '創建與服務器25端口的連接
        Dim SmtpServ As New TcpClient(txtsmtp.Text, 25)
        lstlog.Items.Clear()
        '顯示服務器初始信息
        Dim NetStrm As NetworkStream
        NetStrm = SmtpServ.GetStream()
        Dim RdStrm As New StreamReader(SmtpServ.GetStream())
        If RdStrm.ReadLine() <> "" Then lstlog.Items.Add(RdStrm.ReadLine())
        '
        sendData = "HELO server " + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '標志發件人
        sendData = "MAIL FROM: " + "<" + txtfrom.Text + ">" + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '標志收件人
        sendData = "RCPT TO: " + "<" + txtTo.Text + ">" + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '準備發送內容
        sendData = "DATA " + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '發送主題
        sendData = "SUBJECT: " + txtsub.Text + CRLF
        '發送內容
        sendData = sendData + txtmsg.Text + CRLF
        '結束發送
        sendData = sendData + "." + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '退出
        sendData = "QUIT " + CRLF
        szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
        NetStrm.Write(szData, 0, szData.Length)
        lstlog.Items.Add(RdStrm.ReadLine())
        '關閉連接
        NetStrm.Close()
        RdStrm.Close()
        lstlog.Items.Add("連接關閉")
        lstlog.Items.Add("發送成功")
大家還可以參考:使用C# 創建郵件發送組件(SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp
4、IIS SMTP自帶的基本的發信組件CDONTS
你不必專門下載,微軟已經提供了這個組件,只要安裝了2000,NT的SMTP就會有的。
優點:組件由操作系統自帶
缺點:功能比較差,可擴展性不強
        Mymail = CreateObject("CDONTS.NewMail")
        Mymail.From = *** '信件發送者信箱
        Mymail.To = *** ‘信件接收者信箱
        Mymail.CC = *** '抄送
        Mymail.BCC = *** ’密件發送
        Mymail.Subject = *** ‘信件主題
        Mymail.Body = *** ’信件正文
        '設置優先級,0-不重要,1-一般,2-重要。
        Mymail.Importance = 2
        Mymail.Send()
        Mymail = Nothing
5、使用jmail組件
Jmail具有以下特點:
(1)可以發送附件;
(2)詳細日志能力,便于你查看問題所在;
(3)設置郵件發送的優先級;
(4)支持多種格式的郵件發送,比如說以HTML或者TXT的方式發送郵件。這是個免費的組件。
(5)密件發送/(CC)抄送/緊急信件發送能力;
(6)最關鍵的就是--免費的組件,不必發錢,所以非常值得使用。
網站:http://www.dimac.net/,目前版本是4.3
JMail組件的常用屬性:
Body   郵件正文
Logging   調用Log記錄,供Debug用
Priority   郵件的優先程度,從1到5
Sender   發件人
ServerAddress   SMTP服務器的IP地址或名稱
Subject   郵件標題
JMail組件的常用方法:
AddAttachment   指定附件文件
AddRecipient   加入一個收件人
AddRecipientBCC   隱藏的副本抄送,只有發件人和BCC收件人知道。
AddRecipientCC   副本抄送
Execute   送出郵件
了解必要的屬性及方法后,余下的部分接收使用者輸入的Email,當成參數傳給AddRecipient方法,然后根據需要填上其余屬性,最后以Execute方法寄出。例如:
        Dim JMail
        JMail = Server.CreateObject("JMail.SMTPMail")
        JMail.Logging = True
        JMail.ServerAddress = "202.96.144.48"
        JMail.Sender = "lihonggen0@163.com"
        JMail.Subject = "subject."
        JMail.Body = "body."
        JMail.AddRecipient("bbbb@163.com")
        JMail.AddAttachment("c:/go.gif")
        JMail.Priority = 3
        JMail.Execute()
        JMail = Nothing
總結:選擇何種方案,視程序的用途和需求而定,本文例出的幾種方案,供大家參考。例如用友軟件U8,調用outlook組件,一樣整合到自己的軟件中。我編寫的管理系統,自己寫組件(SMTP),功能同樣強大,不過Coding的時間就長了!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区久久| 亚洲天堂网站在线观看视频| 国产在线视频不卡| 色樱桃影院亚洲精品影院| 日韩专区中文字幕| 欧美成人激情在线| 美女久久久久久久| 亚洲午夜女主播在线直播| 欧美综合国产精品久久丁香| 国产精品久久久久久久电影| 久久久视频免费观看| 亚洲美腿欧美激情另类| 欧美极品在线播放| 8x拔播拔播x8国产精品| 久久国产精品视频| 欧美日韩国产综合视频在线观看中文| 久久久久久国产精品美女| 精品网站999www| 最好看的2019的中文字幕视频| 日韩中文在线中文网三级| 欧美巨乳美女视频| 国产精品丝袜久久久久久高清| 国产精品久久久久久久一区探花| 亚洲国产一区自拍| 日韩精品免费一线在线观看| 韩国国内大量揄拍精品视频| 国内精品小视频| 亚洲国产小视频在线观看| 久久视频在线观看免费| 国产精品久久久久久久7电影| 日韩va亚洲va欧洲va国产| 亚洲成人1234| 中文字幕亚洲综合| 成人欧美在线观看| 97视频在线观看免费高清完整版在线观看| 久久亚洲精品毛片| 91香蕉嫩草影院入口| 人人爽久久涩噜噜噜网站| 亚洲精品aⅴ中文字幕乱码| 精品一区二区三区四区在线| 亚洲国产欧美一区二区三区同亚洲| 欧洲精品毛片网站| 国产精品久久久久久中文字| 欧美香蕉大胸在线视频观看| 亚洲另类欧美自拍| 91久久久在线| 久久久久久久影院| 亚洲黄色www网站| 国产精品自产拍高潮在线观看| 欧美极品美女电影一区| 国产成人啪精品视频免费网| 国产亚洲美女精品久久久| 午夜精品久久久久久99热软件| 日本中文字幕成人| 国产精品jvid在线观看蜜臀| 亚洲天堂网在线观看| 精品偷拍各种wc美女嘘嘘| 久久精品视频一| 欧美成人在线免费| 亚洲国产91色在线| 在线观看视频99| 91在线观看欧美日韩| 色诱女教师一区二区三区| 日韩美女在线看| 久久电影一区二区| 久久琪琪电影院| 亚洲欧美一区二区三区情侣bbw| 国产91精品视频在线观看| 亚洲成人av在线播放| 亚洲色图校园春色| 国产69久久精品成人看| 北条麻妃一区二区在线观看| 91久久国产综合久久91精品网站| 九九热这里只有在线精品视| 欧美日韩国产中文字幕| 欧美成年人视频网站欧美| 日韩大陆毛片av| 国产精品自拍视频| 黄色一区二区在线观看| 美女久久久久久久久久久| 亚洲欧美制服中文字幕| 国产综合在线视频| 91精品国产91久久久久久最新| 海角国产乱辈乱精品视频| 日韩电影中文 亚洲精品乱码| 国产精品入口免费视| 日韩毛片中文字幕| 色妞色视频一区二区三区四区| 亚洲人成网站777色婷婷| 日韩av在线影院| 国产成人福利夜色影视| 92看片淫黄大片看国产片| 国产在线播放91| 日本久久久a级免费| 日韩第一页在线| 欧美韩日一区二区| 51ⅴ精品国产91久久久久久| 亚洲综合日韩中文字幕v在线| 精品久久久久久久久久久久久久| 欧美激情一区二区三级高清视频| 亚洲女人天堂成人av在线| 欧美成人精品h版在线观看| 亚洲精选在线观看| 亚洲成人xxx| 日韩在线观看视频免费| 久久久爽爽爽美女图片| 亚洲福利在线看| 欧美成人免费在线观看| 亚洲高清一区二| 欧美极品在线播放| 国产精品久久久久久av下载红粉| 国产精品免费久久久久久| 欧美日本黄视频| 国产精品男人爽免费视频1| 中文字幕日韩欧美精品在线观看| 亚洲精品视频播放| 久久精品人人做人人爽| 神马久久桃色视频| 国产999精品视频| 国内精品久久久久影院 日本资源| 欧美视频在线观看免费网址| 中文字幕精品一区久久久久| 欧美裸体xxxxx| 日日狠狠久久偷偷四色综合免费| 欧美插天视频在线播放| 亚洲一区二区三区毛片| 91经典在线视频| 欧美激情国产日韩精品一区18| 亚洲欧洲日韩国产| 久久久久久久激情视频| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品美女久久久久av超清| 国产日本欧美视频| 亚洲一区999| 国产在线观看不卡| 欧美另类极品videosbestfree| 日韩av中文字幕在线免费观看| 98精品国产高清在线xxxx天堂| 最近更新的2019中文字幕| 国产精品成人aaaaa网站| 国产精品网红福利| 日韩hd视频在线观看| 亚洲а∨天堂久久精品9966| 国产一区二区欧美日韩| 日韩成人免费视频| 亚洲欧洲成视频免费观看| 日本精品在线视频| 96精品久久久久中文字幕| 亚洲香蕉伊综合在人在线视看| 国产精品入口免费视频一| 在线观看91久久久久久| 国产亚洲精品综合一区91| 国产精品黄色av| 日韩免费在线播放| 国产精品久久99久久| 成人444kkkk在线观看| 久久久久国产一区二区三区| 国产亚洲美女精品久久久| 亚洲全黄一级网站| 午夜精品www| 国产精品久久国产精品99gif| 在线视频免费一区二区| 国产精品高潮呻吟视频| 97久久精品人人澡人人爽缅北|