C#邮件发送,收件人、抄送、秘抄、附件;(标题,主题,自定义编辑)单人多人均可 您所在的位置:网站首页 邮件标题和邮件主题一样吗怎么设置 C#邮件发送,收件人、抄送、秘抄、附件;(标题,主题,自定义编辑)单人多人均可

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

2023-09-02 18:07| 来源: 网络整理| 查看: 265

  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("邮件内容_您好!","邮件主题_问候","您的标题问候", "[email protected],[email protected]", "[email protected],[email protected]", "[email protected]");             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     {         ///         /// 发送邮件         ///         /// 邮件文本内容         /// 邮件主题         /// 邮件标题         /// 收件人         /// 抄送人         /// 密送人         /// 附件本地路径         ///         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 = "[email protected]";//发件账户                 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     {         ///         /// 收件人的邮件地址         ///         public string ConsigneeAddress { get; set; }         ///         /// 收件人的名称         ///         public string ConsigneeName { get; set; }         ///         /// 收件人标题         ///         public string ConsigneeTitle { get; set; }         ///         /// 收件人的主题         ///         public string ConsigneeTheme { get; set; }         ///         /// 发件邮件服务器的Smtp设置         ///         public string SendSetSmtp { get; set; }         ///         /// 发件人的邮件         ///         public string SendEmail { get; set; }         ///         /// 发件人的邮件密码         ///         public string SendPwd { get; set; }         ///         /// 发件内容         ///         public string SendContent { get; set; }         ///         /// 抄送人         ///         public string CC { get; set; }         ///         /// 密抄送人         ///         public string BCC { get; set; }         ///         /// 附件         ///         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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有