2015年8月7日 星期五

C# 發送Google E-Mail Sample Code

以下介紹C# 的郵件服務功能 ,該範例使用Visual Studio 2013  Windows Form 撰寫

需要參考引用 using System.Net.Mail;
比較要注意的地方是:
1.  寄件者SMTP : google的位址為 smtp.gmail.com  如果要使用其他郵件服務需要修改
2.  寄件者Port : 同上,google需要開啟587 Port 
3.  寄件者Gmail帳號: 要輸入自己的google gmail帳號
4.  寄件者密碼:要輸入自己的google gmail密碼


程式畫面圖:

當按下寄郵件按鈕,如果成功:










以下是程式碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Mail;//---使用郵件參考功能
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace GoogleGmail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 發送郵件的按鈕
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            string Catcher = textBox_Catcher.Text;//-收件者 會自動幫我們,分隔
            string Title = textBox_Title.Text;//-----信件標題
            string Body = textBox_Body.Text;//-------信件內容
           
            string SenderName= textBox_Name.Text;//寄件者姓名
            string Sender= textBox_SenderMail.Text;//寄件者
            string UserName=textBox_UserName.Text;//寄件者帳號 這裡以Gmail做設定
            string PassWord=textBox_Password.Text;//寄件者密碼
            int Port =int.Parse(textBox_Port.Text);//Port號 GoogleGmail是587
            string SMTP = textBox_SMTP.Text;//-------SMTP 這裡以Gmail的伺服器為範例



            MailMessage msg = new MailMessage();//-----------------建立mail object
            msg.To.Add(Catcher);//收件者,自動以逗號分隔不同收件者

            //信件的寄件者郵件地址, 姓名 ,使用的編碼
            msg.From = new MailAddress(Sender, SenderName, System.Text.Encoding.UTF8);

            msg.Subject = Title;//郵件標題
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//郵件標題編碼
            msg.Body = Body;//郵件內容
            msg.BodyEncoding = System.Text.Encoding.UTF8;//郵件內容編碼
            msg.IsBodyHtml = false;//是否是HTML郵件
            msg.Priority = MailPriority.Normal;//郵件優先級

            try
            {
                //建立 SmtpClient 物件 並設定 Gmail的smtp主機及Port
                SmtpClient MySmtp = new SmtpClient(SMTP, Port);

                //設定你的帳號密碼
                MySmtp.Credentials = new System.Net.NetworkCredential(UserName, PassWord);

                //Gmial 的 smtp 使用 SSL
                MySmtp.EnableSsl = true;

                //發送Email
                MySmtp.Send(msg);

                MessageBox.Show("發送成功!!!");
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                MessageBox.Show("發送失敗:"+ex.Message);
            }

        }

        }
    }



程式Sample Code 原始碼 下載位置: 點我下載
程式執行檔案   下載位置: 點我下載



沒有留言:

張貼留言