c# 發送郵箱,企業郵箱測試成功

今天在項目中須要實現一個發送郵箱的功能,來實現用戶郵箱激活功能!!!服務器

以前採用的是我的的郵箱進行測試,一切都是很順利的,後來換成了公司的企業郵箱,遇到了一點小問題,問題以下:測試

發送郵件失敗,緣由:命令順序不正確。 服務器響應爲:Error: need EHLO and AUTH first !spa

 

 

 後來經過百度,找到了緣由所在:須要先設置 EnableSsl和UseDefaultCredentials,再實例化Credentials3d

發送企業郵箱代碼以下:code

 1         /// <summary>
 2         /// 發送郵箱
 3         /// </summary>
 4         /// <param name="mail">目的郵件地址</param>
 5         /// <param name="Host">激活地址域名</param>
 6         /// <param name="UserID">用戶標識ID</param>
 7         /// <param name="ActiCode">隨機生成郵箱激活碼</param>
 8         public static void SendEmail(string mail, string Host, int? UserID, string ActiCode)
 9         {
10             //拼接郵箱激活連接
11             formto = string.Format(formto, Host, UserID, ActiCode);
12             MailMessage mailMsg = new MailMessage();
13             mailMsg.From = new MailAddress(name);//源郵件地址 ,發件人
14             mailMsg.To.Add(new MailAddress(mail));//目的郵件地址。能夠有多個收件人.
15             mailMsg.Subject = "陳列專家郵箱激活驗證";//發送郵件的標題 
16             mailMsg.Body = "請進行郵箱驗證,來激活你在陳列專家中用來接收相關信息的郵箱,點擊下面的連接激活您的郵箱:<br><a target='_blank' style='color:#0041D3;text-decoration:underline' href='" + formto + "'>請單擊激活</a>";//發送郵件的內容 
17             mailMsg.IsBodyHtml = true;//是否支持HTML
18             SmtpClient client = new SmtpClient();//smtp.163.com,smtp.qq.com,smtp.exmail.qq.com(qq企業郵箱smtp)發件人使用的郵箱的SMTP服務器。
19             client.Host = "smtp.exmail.qq.com";//設置發送者郵箱對應的smtpserver
20             client.EnableSsl = true;
21             client.UseDefaultCredentials = false;
22             client.Credentials = new System.Net.NetworkCredential(name, upass);//指定發件人的郵箱的帳號與密碼.
23             client.DeliveryMethod = SmtpDeliveryMethod.Network;
24             try
25             {
26                 client.Send(mailMsg);//排隊發送郵件.
27             }
28             catch (Exception ex)
29             {
30                 throw;
31             }
32         }    

調用方法:SendEmail(email, Host, AdminUser.UserID, code);orm

測試效果圖以下:server

 

 

 

 記一次工做中遇到的問題!blog

相關文章
相關標籤/搜索