C#邮件发送,收件人、抄送、秘抄、附件;(标题,主题,自定义编辑)单人多人均可

  C#简单邮件复制运行,邮件发送功能;参考了很多文章,整合了下各个文章的功能和优化整合。

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

namespace TestAPI
{
   class Program
     {
        static void Main(string[] args)
        {
           //调用邮件发送方法
            SendEmailUtil.NetSendEmail("邮件内容_您好!","邮件主题_问候","您的标题问候", "Recipient01@qq.com,Recipient01@163.com", "CC01@qq.com,CC02@qq.com", "Bcc@qq.com");
            Console.ReadLine();
        }
     }
}

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

namespace TestAPI.EMail
{
    public static class SendEmailUtil
    {
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="strText">邮件文本内容</param>
        /// <param name="strTheme">邮件主题</param>
        /// <param name="strTitle">邮件标题</param>
        /// <param name="strRecipient">收件人</param>
        /// <param name="strCC">抄送人</param>
        /// <param name="strBCC">密送人</param>
        /// <param name="strFiles">附件本地路径</param>
        /// <returns></returns>
        public static string NetSendEmail(string strText, string strTheme, string strTitle, string strRecipient, string strCC = "", string strBCC = "", string strFiles = "")
        {
            try
            {
                string strResult = null;
                SendMailParam model = new SendMailParam();
                model.SendEmail = "addresser@163.com";//发件账户
                model.SendPwd = "JBZN********GQYY";//发件账户密码,每个人不同,这里是163邮箱,需要去设置里添加
                model.SendSetSmtp = "smtp.163.com";//发送的SMTP服务地址,每个邮箱的是不一样,根据发件人的邮箱来定

                model.SendContent = strText;
                model.ConsigneeTheme = strTheme;
                model.ConsigneeTitle = strTitle;
                model.ConsigneeAddress = strRecipient;
                model.ConsigneeName = "";
                model.CC = strCC;
                model.BCC = strBCC;
                model.Files = strFiles;
                if (MailSend(model) == true)
                {
                    Console.WriteLine("邮件发送成功!");
                    strResult = "邮件发送成功";
                }
                else
                {
                    Console.WriteLine("邮件发送失败!");
                    strResult = "邮件发送失败";
                }
                return strResult;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
        public static bool MailSend(SendMailParam EPSModel)
        {
            try
            {
                //确定smtp服务器端的地址,实列化一个客户端smtp
                System.Net.Mail.SmtpClient sendSmtpClient = new System.Net.Mail.SmtpClient(EPSModel.SendSetSmtp);//发件人的邮件服务器地址
                System.Net.Mail.MailMessage mailMessage = new MailMessage();
                mailMessage.From = new MailAddress(EPSModel.SendEmail, EPSModel.ConsigneeTitle, Encoding.UTF8);//发件人的邮件地址和收件人的标题、编码
                mailMessage.To.Add(EPSModel.ConsigneeAddress);//收件人地址,支持多人接收

                mailMessage.Subject = EPSModel.ConsigneeTheme;//邮件的主题
                mailMessage.BodyEncoding = Encoding.UTF8;//编码
                mailMessage.SubjectEncoding = Encoding.UTF8;//编码
                mailMessage.Body = EPSModel.SendContent;//发件内容
                mailMessage.IsBodyHtml = false;//获取或者设置指定邮件正文是否为html

                mailMessage.Priority = MailPriority.High;//邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
                if (!string.IsNullOrWhiteSpace(EPSModel.CC))
                {
                    mailMessage.CC.Add(EPSModel.CC);//添加抄送
                }
                if (!string.IsNullOrWhiteSpace(EPSModel.BCC))
                {
                    mailMessage.Bcc.Add(EPSModel.BCC);//添加密送
                }
                if (!string.IsNullOrWhiteSpace(EPSModel.Files))
                {
                    mailMessage.Attachments.Add(new Attachment(EPSModel.Files, System.Net.Mime.MediaTypeNames.Application.Rtf));//添加附件路径
                    //mailMessage.Attachments.Add(new Attachment(@"C:\Users\WuWei\Desktop\K2\Log\Files\CF10_Template.xlsx"));//可以多个添加
                }
                //设置邮件信息 (指定如何处理待发的电子邮件)
                sendSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定如何发邮件 是以网络来发
                sendSmtpClient.EnableSsl = false;//服务器支持安全接连,安全则为true
                sendSmtpClient.UseDefaultCredentials = true; //false;//是否随着请求一起发
                //用户登录信息
                NetworkCredential myCredential = new NetworkCredential(EPSModel.SendEmail, EPSModel.SendPwd);
                sendSmtpClient.Credentials = myCredential;//登录
                sendSmtpClient.Send(mailMessage);//发邮件
                return true;//发送成功
            }
            catch (Exception ex)
            {
                return false;//发送失败
            }
        }

    }

    public class SendMailParam
    {
        /// <summary>
        /// 收件人的邮件地址
        /// </summary>
        public string ConsigneeAddress { get; set; }

        /// <summary>
        /// 收件人的名称
        /// </summary>
        public string ConsigneeName { get; set; }

        /// <summary>
        /// 收件人标题
        /// </summary>
        public string ConsigneeTitle { get; set; }

        /// <summary>
        /// 收件人的主题
        /// </summary>
        public string ConsigneeTheme { get; set; }

        /// <summary>
        /// 发件邮件服务器的Smtp设置
        /// </summary>
        public string SendSetSmtp { get; set; }

        /// <summary>
        /// 发件人的邮件
        /// </summary>
        public string SendEmail { get; set; }

        /// <summary>
        /// 发件人的邮件密码
        /// </summary>
        public string SendPwd { get; set; }
        /// <summary>
        /// 发件内容
        /// </summary>
        public string SendContent { get; set; }

        /// <summary>
        /// 抄送人
        /// </summary>
        public string CC { get; set; }
        /// <summary>
        /// 密抄送人
        /// </summary>
        public string BCC { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public string Files { get; set; }

    }

}

参考文章:

https://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/14/2212255.html
https://blog.csdn.net/zwc0910/article/details/8299306
https://www.cnblogs.com/LikeNeng/p/3839815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值