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

首頁 > 編程 > C# > 正文

使用C#編寫簡單的圖形化的可發送附件的郵件客戶端程序

2020-01-24 01:17:21
字體:
來源:轉載
供稿:網友

今天談一下C#(WinForm)如何發送帶附件的電子郵件!廢話少說,先截圖伺候:

201621170222646.jpg (896×532)

首先C#發送郵件需要smtp服務的支持,我也不知道是不是C#只支持smtp協議,不過好像在MSDN里,Mail這個命名空間下只有介紹smtp的方法的,好像沒看到POP的,算了,先不要說這個

我們暫時用smtp協議來做就好了!因此首先你要確保你的發件郵箱支持smtp服務,據我說知,雅虎郵箱,HotMail郵箱和GMail郵箱都不支持smtp的,不過沒事,還好我們常用的QQ郵箱,163郵箱,新浪郵箱等郵箱都支持smtp的,這樣我們就可以用這些郵箱來發郵件了,哈哈,不過QQ郵箱的smtp服務默認是關閉的,需要我們手動去開通,開通很簡單,進入你的QQ郵箱后,選擇【設置】,在賬戶選項卡里就有個smtp的復選框,打個勾保存一下就OK了。163郵箱和新浪郵箱開通smtp服務也差不多這樣的,很簡單。好了 開通好了接下來就開始來講代碼了 OK!
為了方便菜鳥理解,我把整個程序分成一下幾部分:

  • smtp服務信息設置
  • 驗證發件人信息
  • 添加附件
  • 正式發送郵件
  • 發送郵件后處理

OK 以下代碼伺候:
一些全局變量,都有注釋的

SmtpClient SmtpClient = null; //設置SMTP協議MailAddress MailAddress_from = null; //設置發信人地址 當然還需要密碼MailAddress MailAddress_to = null; //設置收信人地址 不需要密碼MailMessage MailMessage_Mai = null;FileStream FileStream_my = null; //附件文件流

1.smtp服務信息設置

#region 設置Smtp服務器信息/// <summary>/// 設置Smtp服務器信息/// </summary>/// <param name="ServerName">SMTP服務名</param>/// <param name="Port">端口號</param>private void setSmtpClient(string ServerHost, int Port){SmtpClient = new SmtpClient();SmtpClient.Host = ServerHost;//指定SMTP服務名 例如QQ郵箱為 smtp.qq.com 新浪cn郵箱為 smtp.sina.cn等SmtpClient.Port = Port; //指定端口號SmtpClient.Timeout = 0; //超時時間}#endregion

2.驗證發件人信息

#region 驗證發件人信息/// <summary>/// 驗證發件人信息/// </summary>/// <param name="MailAddress">發件郵箱地址</param>/// <param name="MailPwd">郵箱密碼</param>private void setAddressform(string MailAddress, string MailPwd){//創建服務器認證NetworkCredential NetworkCredential_my = new NetworkCredential(MailAddress, MailPwd);//實例化發件人地址MailAddress_from = new System.Net.Mail.MailAddress(MailAddress, textBoxX4.Text);//指定發件人信息 包括郵箱地址和郵箱密碼SmtpClient.Credentials = new System.Net.NetworkCredential(MailAddress_from.Address, MailPwd);;}#endregion

3.添加附件

#region 檢測附件大小private bool Attachment_MaiInit(string path){try{FileStream_my = new FileStream(path, FileMode.Open);string name = FileStream_my.Name;int size = (int)(FileStream_my.Length / 1024/1024);FileStream_my.Close();//控制文件大小不大于10Mif (size > 10){MessageBox.Show("文件長度不能大于10M!你選擇的文件大小為"+ size.ToString()+"M","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);return false;}return true;}catch (IOException E){MessageBox.Show(E.Message);return false;}}#endregion

4.正式發送郵件

 private void btnSend_Click(object sender, EventArgs e){//檢測附件大小 發件必需小于10M 否則返回 不會執行以下代碼if (txt_Path.Text != ""){if (!Attachment_MaiInit(txt_Path.Text.Trim())){return;}}if (txt_SmtpServer.Text == ""){MessageBox.Show("請輸入SMTP服務器名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (textBoxX2.Text == ""){MessageBox.Show("請輸入發件人郵箱地址!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (txtformPwd.Text == ""){MessageBox.Show("請輸入發件人郵箱密碼!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (dataGridViewX1.Rows.Count == 0){MessageBox.Show("請添加收件人!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);return;}if (MessageBox.Show("您確定要發送當前郵件嗎?", "詢問", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK){try{//初始化Smtp服務器信息setSmtpClient("smtp." + txt_SmtpServer.Text.Trim() + comboBoxEx3.Text, Convert.ToInt32(numericUpDown1.Value));}catch (Exception Ex){MessageBox.Show("郵件發送失敗,請確定SMTP服務名是否正確!" + "/n" + "技術信息:/n" + Ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);return;}try{//驗證發件郵箱地址和密碼setAddressform(textBoxX2.Text.Trim() + comboBoxEx2.Text, txtformPwd.Text.Trim());}catch (Exception Ex){MessageBox.Show("郵件發送失敗,請確定發件郵箱地址和密碼的正確性!" + "/n" + "技術信息:/n" + Ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);return;}//清空歷史發送信息 以防發送時收件人收到的錯誤信息(收件人列表會不斷重復)MailMessage_Mai.To.Clear();//添加收件人郵箱地址foreach (DataGridViewRow row in dataGridViewX1.Rows){MailAddress_to = new MailAddress(row.Cells["Column1"].Value.ToString());MailMessage_Mai.To.Add(MailAddress_to);}MessageBox.Show("收件人:" + dataGridViewX1.Rows.Count.ToString() + " 個");//發件人郵箱MailMessage_Mai.From = MailAddress_from;//郵件主題MailMessage_Mai.Subject = txttitle.Text;MailMessage_Mai.SubjectEncoding = System.Text.Encoding.UTF8;//郵件正文MailMessage_Mai.Body = Rtb_Message.Text;MailMessage_Mai.BodyEncoding = System.Text.Encoding.UTF8;//清空歷史附件 以防附件重復發送MailMessage_Mai.Attachments.Clear();//添加附件MailMessage_Mai.Attachments.Add(new Attachment(txt_Path.Text.Trim(), MediaTypeNames.Application.Octet));//注冊郵件發送完畢后的處理事件SmtpClient.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);//開始發送郵件SmtpClient.SendAsync(MailMessage_Mai, "000000000");}}

5.發送郵件后處理

#region 發送郵件后所處理的函數private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e){try{if (e.Cancelled){MessageBox.Show("發送已取消!");}if (e.Error != null){ MessageBox.Show("郵件發送失敗!" + "/n" + "技術信息:/n" + e.ToString(), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); }else{MessageBox.Show("郵件成功發出!", "恭喜!", MessageBoxButtons.OK, MessageBoxIcon.Information);}}catch (Exception Ex){MessageBox.Show("郵件發送失?。? + "/n" + "技術信息:/n" + Ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);} }#endregion

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人手机在线| 91九色单男在线观看| 亚洲国产欧美日韩精品| 成人精品久久av网站| 日韩亚洲欧美中文高清在线| 91精品国产高清久久久久久| 国产成人精品视频在线| 91精品一区二区| 成人看片人aa| 91亚洲国产成人精品性色| 亚洲国模精品一区| 欧美成人亚洲成人| 一本色道久久88亚洲综合88| 成人a在线视频| 欧美激情一区二区久久久| 亚洲精品综合久久中文字幕| 日韩欧美中文字幕在线观看| 欧美视频在线免费看| 91精品中文在线| 色悠悠久久88| 久久久中文字幕| 亚洲男人天堂手机在线| 国产精品一区二区在线| 91在线看www| 欧美性极品xxxx做受| 美日韩精品免费视频| 国产在线观看不卡| 亚洲美女精品成人在线视频| 欧美午夜激情小视频| 日本精品免费一区二区三区| 欧美日韩一区二区精品| 欧美日本在线视频中文字字幕| 亚洲精品欧美一区二区三区| 最新亚洲国产精品| 九九精品视频在线| 91高清免费视频| 亚洲福利在线视频| 亚洲人成伊人成综合网久久久| 亚洲人成网站色ww在线| 久久精品这里热有精品| 亚洲成人动漫在线播放| 亚洲国语精品自产拍在线观看| 精品女同一区二区三区在线播放| 日韩成人激情在线| 91美女高潮出水| 国产丝袜一区视频在线观看| 亚洲国产欧美久久| 中文字幕一区二区精品| 精品国产欧美成人夜夜嗨| 亚洲精品美女视频| 亚洲国产婷婷香蕉久久久久久| 国产精品大陆在线观看| 午夜精品一区二区三区视频免费看| 欧美激情视频一区二区三区不卡| 亚洲欧美日韩精品久久奇米色影视| 欧美性猛交xxxxx水多| 国产视频精品一区二区三区| 欧美日韩一区二区精品| 久久人人爽亚洲精品天堂| 国产欧美精品一区二区三区介绍| 91久久久精品| 午夜精品一区二区三区视频免费看| 成人午夜在线视频一区| 亚洲自拍偷拍在线| 亚洲资源在线看| 97国产精品视频人人做人人爱| 91黑丝高跟在线| 亚洲女人被黑人巨大进入| 国产精品高清在线观看| 亚洲欧美国产制服动漫| 欧美日韩中文字幕日韩欧美| 久热爱精品视频线路一| 国内偷自视频区视频综合| 九九热精品视频在线播放| 色婷婷**av毛片一区| 欧美极品少妇全裸体| 欧美激情一二区| 欧美日韩中文字幕在线视频| 国产精自产拍久久久久久蜜| 亚洲人午夜精品免费| 国产91热爆ts人妖在线| 色噜噜狠狠狠综合曰曰曰| 日韩国产精品一区| 亚洲韩国欧洲国产日产av| 亚洲第一色在线| 伊人男人综合视频网| 成人午夜激情免费视频| 欧美成人精品一区二区三区| 欧美中文在线观看国产| 国产精品久久久久av| 精品一区二区三区电影| 久久五月情影视| 91精品国产91久久久| 九九综合九九综合| 国产成人精品电影| 色播久久人人爽人人爽人人片视av| 黑人精品xxx一区| 久久影院模特热| 主播福利视频一区| 国产成人精品国内自产拍免费看| 日韩欧美精品免费在线| 亚洲第一精品久久忘忧草社区| 国产在线高清精品| 国产精品国产亚洲伊人久久| 亚洲欧洲在线播放| 久久久久久高潮国产精品视| 久久69精品久久久久久国产越南| 98精品国产高清在线xxxx天堂| 久久成人精品视频| 亚洲国产日韩一区| 国产aⅴ夜夜欢一区二区三区| 国产福利成人在线| 久久久影视精品| 成人黄色中文字幕| 亚洲一区免费网站| 欧美视频在线观看免费| 亚洲性视频网站| 国产精品第100页| 国产精品27p| 国产在线精品成人一区二区三区| 在线精品高清中文字幕| 亚洲欧美一区二区激情| 国产精品一区二区三区毛片淫片| 久久久免费在线观看| 久久久久久久国产| 久久综合网hezyo| 亚洲精品456在线播放狼人| 国产精品96久久久久久| 日韩av片永久免费网站| 欧美色欧美亚洲高清在线视频| 少妇av一区二区三区| 91wwwcom在线观看| 97国产精品视频人人做人人爱| 亚洲va国产va天堂va久久| 97婷婷涩涩精品一区| 日韩精品中文字幕视频在线| 久久久女人电视剧免费播放下载| 精品少妇一区二区30p| 97视频在线播放| 91人成网站www| 日韩精品中文字幕在线观看| 久久久噜噜噜久久中文字免| 久久99精品久久久久久琪琪| 最近2019中文字幕大全第二页| 欧美黄网免费在线观看| 国产主播在线一区| 欧美在线一级视频| 欧美高清激情视频| 欧美高清一级大片| 热99在线视频| 综合国产在线视频| 欧美成人sm免费视频| 日韩二区三区在线| 日韩精品免费观看| 美女福利精品视频| 久久久久久久久久国产| 国产亚洲精品久久久优势| 亚洲男人av电影| 8090成年在线看片午夜| 国产精品视频专区| 中文字幕亚洲专区| 91在线看www| 久久久久国产一区二区三区| 久久久国产影院|