2022年1月22日 星期六

[研究][C#] Gmail 寄信 (用 System.Net.Mail )

[研究][C#] Gmail 寄信

2016-04-11
2018-03-09, 2022-01-22更新

Visual Studio 2022 + ASP.NET + Web Application  + WebForm 

using System.Net.Mail;
public void send_gmail(string msg, string mysubject, string address)
{
try
            {
            
//  MailMessage ( FromEmailAddress, ToEmailAddress)
 MailMessage message = new MailMessage("abc@yahoo.com.tw", address);//MailMessage(寄信者, 收信者)
 message.IsBodyHtml = true;
 message.BodyEncoding = System.Text.Encoding.UTF8;//E-mail編碼
 message.SubjectEncoding = System.Text.Encoding.UTF8;//E-mail編碼
 message.Priority = MailPriority.Normal;//設定優先權
 message.Subject = mysubject;//E-mail主旨
 message.Body = msg;//E-mail內容

 SmtpClient MySmtp = new SmtpClient("smtp.gmail.com", 587);//設定gmail的smtp

        //gmail的帳號密碼System.Net.NetworkCredential(帳號,密碼)
 MySmtp.Credentials = new System.Net.NetworkCredential("abcd@gmail.com", "1234");
MySmtp.EnableSsl = true;//開啟ssl MySmtp.Send(message); MySmtp = null; message.Dispose();
Label1.Text = "Send !";
            }
            catch (Exception ex)
            {
                Label1.Text = "不明錯誤。";
                if (ex!=null)
                {
                    Label1.Text = ex.Message.ToString();
                }
            }
}

send_gmail("測試內容", "測試主旨標題", "def@pchome.com.tw,ghi@hotmail.com");//呼叫send_gmail函式測試

********************************************************************************
2018-03-09更新

上面程式以前可以用,今天要用發現有問題

錯誤訊息
System.Net.Mail.SmtpException: 'SMTP 伺服器需要安全連接,或用戶端未經驗證。 伺服器回應為: 5.5.1 Authentication Required. Learn more at'



低安全性應用程式

********************
2022-01-22
管控愈來愈嚴格




已封鎖低安全性應用程式
您想使用的應用程式不符合 Google 的安全性標準,因此我們已封鎖該應用程式。
某些應用程式和裝置採用的登入技術安全性較低,將導致您的帳戶出現安全漏洞。建議您停用這類應用程式的存取權;當然,您也可以選擇啟用存取權,但請瞭解相關風險。如果您並未使用這項設定,Google 會自動將其關閉。
瞭解詳情


********************************************************************************
2024-06-18 補




(完)

沒有留言:

張貼留言