ASP.NET Core中使用163的SMTP服務器發送郵件


大家都知道C#中的System.Net.Mail.SmtpClient類是專門用來請求SMTP服務器發送郵件的,但是如果使用本地的SMTP服務器(比如本機IIS的SMTP服務器)發送郵件,會被許多大型網站的郵箱當做垃圾郵件來處理,原因是本地SMTP服務器的地址並不為人所知,發送的郵件理所當然會被當做來歷不明的郵件,所以我們要借助一些大型知名網站的SMTP服務器來為我們發送郵件,這里就向大家介紹使用163的SMTP服務器發送郵件的方法。

PS:使用163的SMTP服務器發送郵件會使得你開發系統所發送的郵件都使用163的郵箱地址作為發信人的地址,但是我認為這總比把郵件每次都發送到用戶的垃圾郵件箱要強,因為如果你發送的郵件全是垃圾郵件,用戶可能根本就不會去看你發送的是什么,就把郵件刪掉了,這才是最糟糕的....

下面我們來看看代碼:

復制代碼
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Host = "smtp.163.com";//使用163的SMTP服務器發送郵件
client.UseDefaultCredentials = true;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("abc", "*******");//163的SMTP服務器需要用163郵箱的用戶名和密碼作認證,如果沒有需要去163申請個,
                                                                        //這里假定你已經擁有了一個163郵箱的賬戶,用戶名為abc,密碼為*******
System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
Message.From = new System.Net.Mail.MailAddress("abc@163.com");//這里需要注意,163似乎有規定發信人的郵箱地址必須是163的,而且發信人的郵箱用戶名必須和上面SMTP服務器認證時的用戶名相同
                                                              //因為上面用的用戶名abc作SMTP服務器認證,所以這里發信人的郵箱地址也應該寫為abc@163.com
Message.To.Add("123456@gmail.com");//將郵件發送給Gmail
Message.To.Add("123456@qq.com");//將郵件發送給QQ郵箱
Message.Subject = "測試標體";
Message.Body = "測試郵件體";
Message.SubjectEncoding = System.Text.Encoding.UTF8;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Priority = System.Net.Mail.MailPriority.High;
Message.IsBodyHtml = true;
client.Send(Message);

復制代碼


免責聲明!

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



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