-->

2014年9月8日 星期一

[C#] 利用Gmail 帳號來發送郵件

using System;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace SendMail
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                MailMessage mail = new MailMessage();
                mail.From = new MailAddress("account_id@gmail.com");
                mail.To.Add("someone@gmail.com");
                mail.Priority = MailPriority.High;
                mail.Subject = "this is test mail";
                mail.Body = "test mail!!";
                mail.SubjectEncoding = Encoding.UTF8;
                mail.IsBodyHtml = false;

                SmtpClient smtpClient = new SmtpClient();
                smtpClient.Host = "smtp.gmail.com";
                smtpClient.Port = 587;// 587 (TSL), 465 (SSL), 25(SSL)
                smtpClient.EnableSsl = true;
                smtpClient.Credentials = new NetworkCredential("account_id@gmail.com", "gmail_pwd");
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Send(mail);

                Console.WriteLine("mail is sent!!");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

測試環境: Win7 (64bit)

開發環境: VS2010

編譯.Net版本: 4.0

Gmail 帳號:不能啟用雙因子認證(Google Authenticator), 所以我另外在註冊一個Gmail帳號, 用來做發信通知自己之用。

目的: 為了方使自己接收系統事件之用, 例如服務異常時, 可以第一時間通知或是留下異常記錄之用, 以利觀察系服運作的狀況。

使用 POP 或 IMAP 發送郵件時遇到問題: https://support.google.com/mail/answer/78775?hl=zh-Hant

沒有留言:

張貼留言