C# 利用Mail Server 發送Email

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

利用Mail Server 發送Email,假設為一個表單,有個按鈕。

當使用者輸入完email後,系統自動發佈email給使用者。

asp.net C# 中自動發送信件,不外乎要知道兩個 MailMessage SmtpClient。

SMTP : 簡單郵件傳輸協定(Simple Mail Transfer Protocol, SMTP) ,事實上就是在Internet傳輸email的標準。

相關圖片
因此,我們要利用mail server 來寄送email。

  public static void SendAutomatedEmail(string ReceiveMail)
    {
        System.Net.Mail.MailMessage MyMail = new System.Net.Mail.MailMessage();
        MyMail.From = new System.Net.Mail.MailAddress("xxx@domain.com.tw");
        MyMail.To.Add(ReceiveMail); //設定收件者Email
        MyMail.Bcc.Add("密件副本的收件者Mail"); //加入密件副本的Mail          
        MyMail.Subject = "Email Test";
        MyMail.Body = "<h1>HIHI</h1>"; //設定信件內容
        MyMail.IsBodyHtml = true; //是否使用html格式
        System.Net.Mail.SmtpClient MySMTP = new System.Net.Mail.SmtpClient(host);
        MySMTP.Credentials = new System.Net.NetworkCredential("account", "PW");
        try
        {
            MySMTP.Send(MyMail);
            MyMail.Dispose(); //釋放資源
        }
        catch (Exception ex)
        {
            ex.ToString();
        }
    }

這樣就可以寄送mail啦~~但,我發現因為是用自己公司的domain,所以我分別實測了GMAIL , YAHOO

發現只要是GMAIL都會被歸類到垃圾信件,當然也有解決辦法,例如去跟GOOGLE寫回報說,這個Domain並不是發送垃圾信件。

但主管最終認為不然我們利用gmail的信箱去寄信,就不會被歸類到垃圾信件了。

詳細的請看下篇:C# 利用Gmail自動發送郵件


參考資料:

1. 小白新手DV