C#SMTP發送郵件在阿里雲服務器上需要注意的問題


  使用SMTP(簡單郵件傳輸協議)發送郵件一般都是使用25端口,而阿里雲服務器為了安全是將25端口封禁的,會出現在本機測試發送郵件功能正常,但是部署到服務器上卻發送失敗的情況。

  解決辦法是向阿里雲申請解封25端口,或者更換端口,可以使用465或者587端口。

  代碼如下:

 1 /// <summary>
 2     /// 發送郵件
 3     /// </summary>
 4     /// <param name="bodyStr">郵件內容</param>
 5     /// <param name="title">郵件標題</param>
 6     /// <returns>返回結果,成功與否</returns>
 7     public static string SendMail(string bodyStr, string title)
 8     {
 9         SmtpClient smtpClient = new SmtpClient();
10         smtpClient.EnableSsl = true;
11         smtpClient.UseDefaultCredentials = false;
12         smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
13         smtpClient.Host = "smtp.qq.com";
14         smtpClient.Port = 587;//改用587端口
15         smtpClient.Credentials = new System.Net.NetworkCredential("000@qq.com", "abcdefg");
16         //密碼不是QQ密碼,是qq賬戶設置里面的POP3/SMTP服務生成的key
17         MailMessage mailMessage = new MailMessage("000@qq.com", "xxx@xxx.com");//from(發出郵箱)和to(目標郵箱)
18         mailMessage.Subject = title;//郵件標題 
19         mailMessage.Body = bodyStr;//郵件內容 
20         mailMessage.BodyEncoding = System.Text.Encoding.Default;//正文編碼  
21         mailMessage.IsBodyHtml = true;//設置為HTML格式  
22         mailMessage.Priority = MailPriority.High;//優先級  
23         mailMessage.To.Add("xxx@xxx.com");
24         mailMessage.To.Add("aaa@xxx.com");
25         mailMessage.To.Add("bbb@xxx.com");
26         mailMessage.To.Add("ccc@xxx.com");//可以發送給多個人
27         try
28         {
29             smtpClient.Send(mailMessage);
30             return "發送成功";
31         }
32         catch (Exception e)
33         {
34             return "發送失敗" + e.InnerException.Message;
35         }
36     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM