使用MailMessage發送郵件


SmtpClient smtp = new SmtpClient(); //實例化一個SmtpClient
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //將smtp的出站方式設為 Network
            smtp.EnableSsl = false;//smtp服務器是否啟用SSL加密
            smtp.Host = "smtp.163.com"; //指定 smtp 服務器地址
            smtp.Port = 25;             //指定 smtp 服務器的端口,默認是25,如果采用默認端口,可省去
            //如果你的SMTP服務器不需要身份認證,則使用下面的方式,不過,目前基本沒有不需要認證的了
            smtp.UseDefaultCredentials = true;
            //如果需要認證,則用下面的方式
            smtp.Credentials = new NetworkCredential("a@163.com", "****");
            MailMessage mm = new MailMessage(); //實例化一個郵件類
            mm.Priority = MailPriority.High; //郵件的優先級,分為 Low, Normal, High,通常用 Normal即可
            mm.From = new MailAddress("b@163.com", "真有意思測試", Encoding.GetEncoding(936));
            //收件方看到的郵件來源;
            //第一個參數是發信人郵件地址
            //第二參數是發信人顯示的名稱
            //第三個參數是 第二個參數所使用的編碼,如果指定不正確,則對方收到后顯示亂碼
            //936是簡體中文的codepage值
            //注:上面的郵件來源,一定要和你登錄郵箱的帳號一致,否則會認證失敗
            mm.ReplyTo = new MailAddress("b@163.com", "我的接收郵箱", Encoding.GetEncoding(936));
            //ReplyTo 表示對方回復郵件時默認的接收地址,即:你用一個郵箱發信,但卻用另一個來收信
            //上面后兩個參數的意義, 同 From 的意義
            //mm.CC.Add("a@163.com,b@163.com,c@163.com");
            //郵件的抄送者,支持群發,多個郵件地址之間用 半角逗號 分開
 
            //當然也可以用全地址,如下:
            mm.CC.Add(new MailAddress("c@163.com", "抄送者A", Encoding.GetEncoding(936)));
            //mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));
            //mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));
 
            //mm.Bcc.Add("d@163.com,e@163.com");
            //郵件的密送者,支持群發,多個郵件地址之間用 半角逗號 分開
 
            //當然也可以用全地址,如下:
            //mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));
            //mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936)));
            //mm.Sender = new MailAddress("xxx@xxx.com", "郵件發送者", Encoding.GetEncoding(936));
            //可以任意設置,此信息包含在郵件頭中,但並不會驗證有效性,也不會顯示給收件人
            //說實話,我不知道有啥實際作用,大家可不理會,也可不寫此項
            //mm.To.Add("g@163.com,h@163.com");
            //郵件的接收者,支持群發,多個地址之間用 半角逗號 分開
 
            //當然也可以用全地址添加
 
            mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));
            //mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936)));
            mm.Subject = "這是郵件標題-測試"; //郵件標題
            mm.SubjectEncoding = Encoding.GetEncoding(936);
            // 這里非常重要,如果你的郵件標題包含中文,這里一定要指定,否則對方收到的極有可能是亂碼。
            // 936是簡體中文的pagecode,如果是英文標題,這句可以忽略不用
            mm.IsBodyHtml = true; //郵件正文是否是HTML格式
 
            mm.BodyEncoding = Encoding.GetEncoding(936);
            //郵件正文的編碼, 設置不正確, 接收者會收到亂碼
 
            mm.Body = "<font color=\"red\">郵件測試,呵呵</font>";
            //郵件正文
            mm.Attachments.Add(new Attachment(@"c:\d\1.doc", System.Net.Mime.MediaTypeNames.Application.Rtf));
            //添加附件,第二個參數,表示附件的文件類型,可以不用指定
            //可以添加多個附件
            //mm.Attachments.Add(new Attachment(@"d:b.doc"));
            smtp.Send(mm); //發送郵件,如果不返回異常, 則大功告成了。
 
 
        }

  二、

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net;
using System.Configuration;
/// <summary>
/// 發郵件模塊
/// Author:tonyepaper.cnblogs.com
/// </summary>
public class Mail
{
    private string senderAddress;
    /// <summary>
    /// 發件人
    /// </summary>
    public string SenderAddress
    {
        get { return senderAddress; }
        set { senderAddress = value; }
    }
    private string receiverAddess;
    /// <summary>
    /// 收件人
    /// </summary>
    public string ReceiverAddess
    {
        get { return receiverAddess; }
        set { receiverAddess = value; }
    }
    private string subject;
    /// <summary>
    /// 主題
    /// </summary>
    public string Subject
    {
        get { return subject; }
        set { subject = value; }
    }
    private string body;
    /// <summary>
    /// 內容
    /// </summary>
    public string Body
    {
        get { return body; }
        set { body = value; }
    }
    private string smtpHost;
    /// <summary>
    /// SMTP主機
    /// </summary>
    public string SmtpHost
    {
        get { return smtpHost; }
        set { smtpHost = value; }
    }
    private int smtpPort;
    /// <summary>
    /// SMTP端口
    /// </summary>
    public int SmtpPort
    {
        get { return smtpPort; }
        set { smtpPort = value; }
    }
    private string smtpPassword;
    /// <summary>
    /// SMTP密碼
    /// </summary>
    public string Password
    {
        get { return smtpPassword; }
        set { this.smtpPassword = value; }
    }
    /// <summary>
    /// 初始化發件人
    /// </summary>
    public Mail()
    {
        senderAddress = "qiugen114@gmail.com";
        smtpPassword ="*****";
        smtpHost = "smtp.gmail.com";
        smtpPort = 587;
    }
    /// <summary>
    /// 郵件
    /// </summary>
    /// <param name="receiverAddess">收件人地址</param>
    /// <param name="subject">主題</param>
    /// <param name="body">內容</param>
    public Mail(string receiverAddess, string subject, string body)
        : this()
    {
        this.receiverAddess = receiverAddess;
        this.subject = subject;
        this.body = body;
    }
    /// <summary>
    /// 發送郵件
    /// </summary>
    public bool Send()
    {
        MailMessage mailMessage = new MailMessage(senderAddress, receiverAddess);
        mailMessage.Subject = subject;
        mailMessage.Body = body;

        SmtpClient smtpClient = new SmtpClient(smtpHost, smtpPort);
        //使用SSL加密連線
        smtpClient.EnableSsl = true;
        NetworkCredential networkCredential = new NetworkCredential(senderAddress, smtpPassword);
        smtpClient.Credentials = networkCredential;
        try
        {
            smtpClient.Send(mailMessage);
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
    }   

//調用
protected void Button1_Click(object sender, EventArgs e)
    {
        Mail mail = new Mail("claymore1114@163.com", "aaaa", "aaaaaa");//初始化收件人
        mail.Send();
            }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM