C# 利用Gmail自動發送郵件

  • 32168
  • 0
  • C#
  • 2019-03-20

因為利用自己的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/

2.http://demo.tc/post/104


下篇:自動發送信件需內嵌圖片