C#學習筆記
以下介紹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 原始碼 下載位置: 點我下載
程式執行檔案 下載位置: 點我下載