iT邦幫忙

1

用C#寄Gmail信(純後端)

要寄Gmail信首先要登入Gmail,
然後到 https://www.google.com/settings/security/lesssecureapps
低安全性應用程式 → 開啟較低的應用程式存取權限
選擇開啟,否則會無法正常寄信

然後以下是程式碼,
其實非常簡單,

必要參考

using System.Net.Mail;

以下是WinForm的寫法

try
{
     System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
     msg.To.Add("blinda12@ms4.hinet.net");
     //msg.To.Add("b@b.com");可以發送給多人
     //msg.CC.Add("c@c.com");
     //msg.CC.Add("c@c.com");可以抄送副本給多人 
     //這裡可以隨便填,不是很重要
     msg.From = new MailAddress("XXX@gmail.com", "小魚", System.Text.Encoding.UTF8);
      /* 上面3個參數分別是發件人地址(可以隨便寫),發件人姓名,編碼*/
     msg.Subject = "測試標題";//郵件標題
     msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼
     msg.Body = "測試一下"; //郵件內容
     msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內容編碼 
     msg.Attachments.Add(new Attachment(@"D:\test2.docx"));  //附件
     msg.IsBodyHtml = true;//是否是HTML郵件 
     //msg.Priority = MailPriority.High;//郵件優先級 

     SmtpClient client = new SmtpClient();
     client.Credentials = new System.Net.NetworkCredential("XXX@gmail.com", "****"); //這裡要填正確的帳號跟密碼
     client.Host = "smtp.gmail.com"; //設定smtp Server
     client.Port = 25; //設定Port
     client.EnableSsl = true; //gmail預設開啟驗證
     client.Send(msg); //寄出信件
     client.Dispose();
     msg.Dispose();
     MessageBox.Show(this, "郵件寄送成功!");
}
catch (Exception ex)
{
     MessageBox.Show(this, ex.Message);
}

1 則留言

0
chommy
iT邦新手 2 級 ‧ 2017-09-11 10:34:41

很讚的教學文!

小魚 iT邦新手 2 級 ‧ 2017-09-11 19:11:58 檢舉

甘溫~

我要留言

立即登入留言