zoukankan      html  css  js  c++  java
  • 邮件发送案例

    using System;
    using System.Collections.Generic;
    using System.Net.Mail;
    using System.Text;

    namespace Mail
    {
    public class MailHelper
    {
    /// <summary>
    /// 邮件发送
    /// </summary>
    /// <param name="mailFrom">发件人信息</param>
    /// <param name="listMailTo">收件人信息</param>
    /// <param name="listMailCC">抄送人信息</param>
    /// <param name="listMailBcc">密码送人信息</param>
    /// <param name="strSubject">标题</param>
    /// <param name="strBody">内容</param>
    /// <param name="listAttachment">附件</param>
    public void SendMail(MainFrom mailFrom, List<MailTo> listMailTo,List<MailCC> listMailCC,List<MailBcc> listMailBcc,string strSubject, string strBody, List<Attachments> listAttachment)
    {
    MailMessage mailMsg = new MailMessage();
    //邮件的发件人
    MailAddress from = new MailAddress(mailFrom.MailFromAddress, mailFrom.MailFromDisplayName, System.Text.Encoding.GetEncoding("GB2312"));
    mailMsg.From = from;

    //设置邮件的收件人
    foreach (var item in listMailTo)
    {
    MailAddress to = new MailAddress(item.MailToAddress,item.MailToDisplayName);
    mailMsg.To.Add(to);
    }

    //设置抄送人
    foreach (var item in listMailCC)
    {
    MailAddress cc = new MailAddress(item.MailCCAddress,item.MailCCDisplayName);
    mailMsg.CC.Add(cc);
    }
    foreach (var item in listMailBcc)
    {
    MailAddress bcc = new MailAddress(item.MailBccAddress,item.MailBccDisplayName);
    mailMsg.CC.Add(bcc);
    }
    mailMsg.Subject = strSubject;
    mailMsg.Body = strBody;
    foreach (var item in listAttachment)
    {
    mailMsg.Attachments.Add(new Attachment(item.AttachmentPath));
    }
    mailMsg.IsBodyHtml = true;
    mailMsg.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
    mailMsg.Priority = MailPriority.Normal;
    mailMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;

    //邮件发送服务器
    SmtpClient client = new SmtpClient();
    client.Host = "mail.lenovots.com";
    //设置用于 SMTP 事务的端口,默认的是 25
    //client.Port = 25;
    client.UseDefaultCredentials = false;
    //发件人邮箱登陆名和密码
    client.Credentials = new System.Net.NetworkCredential("发件人邮箱地址", "发件人邮箱密码");
    client.DeliveryMethod = SmtpDeliveryMethod.Network;

    //发送邮件
    client.Send(mailMsg);
    }
    }

    #region 发件人信息
    public class MainFrom {
    private string _mailFromAddress;
    /// <summary>
    /// 发件人邮箱地址
    /// </summary>
    public string MailFromAddress
    {
    get { return _mailFromAddress; }
    set { _mailFromAddress = value; }
    }
    private string _mailFromDisplayName;
    /// <summary>
    /// 发件人显示名称
    /// </summary>
    public string MailFromDisplayName
    {
    get { return _mailFromDisplayName; }
    set { _mailFromDisplayName = value; }
    }
    }
    #endregion

    #region 收件人信息
    public class MailTo {
    private string _mailToAddress;
    /// <summary>
    /// 收件人地址
    /// </summary>
    public string MailToAddress
    {
    get { return _mailToAddress; }
    set { _mailToAddress = value; }
    }
    private string _mailToDisplayName;
    /// <summary>
    /// 收件人显示名称
    /// </summary>
    public string MailToDisplayName
    {
    get { return _mailToDisplayName; }
    set { _mailToDisplayName = value; }
    }
    }
    #endregion

    #region 抄送人信息
    public class MailCC {
    private string _mailCC;
    /// <summary>
    /// 抄送人地址
    /// </summary>
    public string MailCCAddress
    {
    get { return _mailCC; }
    set { _mailCC = value; }
    }
    private string _mailCCDisplayName;
    /// <summary>
    /// 抄送人显示名称
    /// </summary>
    public string MailCCDisplayName
    {
    get { return _mailCCDisplayName; }
    set { _mailCCDisplayName = value; }
    }
    }
    #endregion

    #region 密送人信息
    public class MailBcc {
    private string _mailBccAddress;
    /// <summary>
    /// 密送人地址
    /// </summary>
    public string MailBccAddress
    {
    get { return _mailBccAddress; }
    set { _mailBccAddress = value; }
    }
    private string _mailBccDisplayName;
    /// <summary>
    /// 密送人显示名称
    /// </summary>
    public string MailBccDisplayName
    {
    get { return _mailBccDisplayName; }
    set { _mailBccDisplayName = value; }
    }
    }
    #endregion

    #region 附件信息
    public class Attachments {
    private string _attachmentPath;
    /// <summary>
    /// 附件路径
    /// </summary>
    public string AttachmentPath
    {
    get { return _attachmentPath; }
    set { _attachmentPath = value; }
    }
    }
    #endregion

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    win10右键新建markdown文件
    force down pool_member
    自控力差,你可能忽略了一种更底层的能力
    多线程的通信问题
    多线程的安全问题
    Java实现多线程的两种方式
    为什么你成不了数据分析高手?可能是缺少这个思维
    jstack && jmap
    对ElasticSearch主副分片的理解
  • 原文地址:https://www.cnblogs.com/chengeng/p/5659718.html
Copyright © 2011-2022 走看看