記錄一下使用SMTP協議發送郵件服務器
public void Mail() { try { 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("調用發送郵件的郵箱地址", "受權碼"); client.Port = 25; System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage(); Message.From = new System.Net.Mail.MailAddress("moling_free@163.com"); Message.To.Add("收件人郵箱"); 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); } catch(Exception ex){ throw ex;}
注:spa
一、受權碼須要去郵箱客戶端裏的POP3 /SMTP選項裏開通便可獲取受權碼,不須要使用郵箱密碼。使用受權碼便可經過第三方程序調用其郵箱代爲發送郵件。開通方法登錄郵箱便可看到,就再也不說明(真不清楚也可自行百度一下)。.net
二、如需使用qq郵箱做爲發送端,須要修改郵箱服務器爲:smtp.qq.com。也需開通受權碼的,qq郵箱裏有相似的開通方式。code
三、可能會發送失敗(450、550錯誤碼等),其主要緣由是由於郵件服務器的反垃圾策略攔截了。能夠檢查標題、正文是否有敏感信息,檢查發送頻率是否過多,可能你的IP被標記了,可能過段時間就行了(可能幾分鐘,也可能幾個小時,甚至一兩天,這個看臉。。。)blog
關於詳細的錯誤碼能夠參考:https://blog.csdn.net/fakine/article/details/72898413get
四、被攔截的話能夠在郵箱裏設置白名單試試,不過不是都有用,感受qq\163用的別人的郵件服務器就常常有這種問題,若是是公司內部使用的話建議搭建本身的郵件服務器。it