要寄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);
}
2022-05-30 最新機制: 已經沒有低安全性的選項了。
目前要在GOOGLE 帳號 > 安全性 > 應用程式密碼 > 申請一組[郵件]密碼。
共計16位英數文字