因為利用自己的mail Server會發現被google當做垃圾信件,因此改以利用google帳號去發送。
如同上篇,一個表單以及一個送出按鈕。
根據 如何使用Gmail幫我們發信 這篇文章,C# 發送gmail只要透過這四行便可以發送了。
透過文章內所說的萬用code進行改寫。
public void sendGmail()
{
MailMessage mail = new MailMessage();
//前面是發信email後面是顯示的名稱
mail.From = new MailAddress("xxx@gmail.com", "信件名稱");
//收信者email
mail.To.Add("xxx@gmail.com");
//設定優先權
mail.Priority = MailPriority.Normal;
//標題
mail.Subject = "AutoEmail";
//內容
mail.Body = "<h1>HIHI,Wellcome</h1>";
//內容使用html
mail.IsBodyHtml = true;
//設定gmail的smtp (這是google的)
SmtpClient MySmtp = new SmtpClient("smtp.gmail.com", 587);
//您在gmail的帳號密碼
MySmtp.Credentials = new System.Net.NetworkCredential("account", "pw");
//開啟ssl
MySmtp.EnableSsl = true;
//發送郵件
MySmtp.Send(mail);
//放掉宣告出來的MySmtp
MySmtp = null;
//放掉宣告出來的mail
mail.Dispose();
}
這時我碰到了一個錯誤訊息:
SMTP 伺服器需要安全連接,或用戶端未經驗證。 伺服器回應為: 5.5.1
https://blog.user.today/gmail-smtp-authentication-required/
我透過此篇的第一個解決方案便解決此問題,將安全啟動及可。
參考資料:
1.https://blog.user.today/gmail-smtp-authentication-required/
下篇:自動發送信件需內嵌圖片