1. 程式人生 > >C#中自動傳送郵件的實現

C#中自動傳送郵件的實現

原始碼:
using System;
using System.Windows.Forms;

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

namespace 郵件
{
public partial class Form1 : Form
{
string fileName;//獲取檔名
public Form1()
{
InitializeComponent();
}

    private void button傳送_Click(object sender, EventArgs e)
    {
        SmtpClient client = new SmtpClient();//生成SmtpClient例項,用它傳送電子郵件
        client.Host = "smtp.163.com";//指定SMTP伺服器主機
        client.Port = 25;//指定要使用的埠
        client.Credentials = new System.Net.NetworkCredential("
[email protected]
", "xxxxxx");//驗證使用者名稱和密碼 MailMessage message = new MailMessage(); MailAddress from = new MailAddress(txtSender.Text);//獲取輸入的發件人郵箱地址 if (txtReceiver.Text != "") { if (Regex.IsMatch(txtReceiver.Text, "\\[email protected]\\w+(\\.\\w+)+")) //用正則表示式驗證郵箱 { MailAddress to = new MailAddress(txtReceiver.Text);//獲取輸入的收件人郵箱地址 message.To.Add(to);//設定郵件接收人,MailMessage類的To屬性可以Add多個接收人 } else { MessageBox.Show("收件人郵箱地址不正確"); return; } } else { MessageBox.Show("收件人不能為空"); return; } if (txtCc.Text != "") { if (Regex.IsMatch(txtCc.Text, "\\
[email protected]
\\w+(\\.\\w+)+")) { MailAddress cc = new MailAddress(txtCc.Text);//獲取輸入的抄送人郵箱地址 message.CC.Add(cc);//設定郵件抄送人,MailMessage類的To屬性可以Add多個抄送人 } else { MessageBox.Show("抄送人郵箱地址不正確"); return; } } if (txtAttachFileName.Text != "") { fileName = txtAttachFileName.Text;//獲取檔名 Attachment attach = new Attachment(fileName);//獲取選擇的附件 message.Attachments.Add(attach);//將附件新增到郵件中,MailMessage類的Attachments屬性可以Add多個附件 } message.Subject = txtTitle.Text;//獲取輸入的郵件標題 message.Body = rtbContext.Text;//獲取輸入的郵件正文 message.From = from;//設定郵件發件人 client.Send(message); MessageBox.Show("傳送成功"); } private void button新增附件_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "所有檔案(*.*)|*.*"; if (ofd.ShowDialog() == DialogResult.OK) { txtAttachFileName.Text = ofd.FileName; } } }

}
介面