准備工作:
1.開啟Smtp服務
2.如果郵件設置中有“客戶端授權碼"(以163郵箱為例,有的郵箱不需要),需要開啟“客戶端授權碼"
發送郵件:
using (MailMessage mailMessage = new MailMessage()) {
using (SmtpClient smtpClient = new SmtpClient(Smtp 服務器)) {
mailMessage.To.Add(接收郵箱); mailMessage.To.Add(接收郵箱 2);
mailMessage.Body = "郵件正文";
mailMessage.From = new MailAddress(發送郵箱);
mailMessage.Subject = "郵件標題";
smtpClient.Credentials = new System.Net.NetworkCredential(Smtp 發送用戶名, Smtp 發 送密碼);//如果啟用了“客戶端授權碼”,要用授權碼代替密碼
smtpClient.Send(mailMessage);
}
}
如果啟用了SSL,並且不支持非安全連接,還需要設置smtpClient.EnableSsl=true(某些服務器中不開放25端口,所以只能用Ssl的方式以465端口發送)。
如果大量通過郵箱發送驗證碼,可以借助於 SendCloud、阿里雲等第三方的“觸發郵件” 服務,可以保證到達率。
如果是公司內部發郵件,可以自己搭建郵件服務器或者購買企業郵箱服務。
以上代碼是以第三方免費的smtp服務進行發送的,如果發送郵件太多,可能會被封,只能換服務商。
