当前位置: 首页 > news >正文

C#发送邮件

基础调用类:

public class EmailHelper
    {
        /// <summary>
        /// 发件人名称
        /// </summary>
        public string MailName { get; set; }

        /// <summary>
        /// 收件人
        /// </summary>
        public string MailTo { get; set; }

        /// <summary>
        /// 密送
        /// </summary>
        public string MailBCC { get; set; }

        /// <summary>
        /// 抄送
        /// </summary>
        public string MailCC { get; set; }


        /// <summary>
        /// 主题
        /// </summary>
        public string MailSubject { get; set; }

        /// <summary>
        /// 内容
        /// </summary>
        public string MailHTMLBody { get; set; }

        /// <summary>
        /// 附加
        /// </summary>
        public string MailAttachments { get; set; }
        public string MailAttachments2 { get; set; }//第二个附件
        public bool Send(ref string message)
        {
            try
            {

                //發送郵件            
                MailMessage myEmail = new MailMessage();

                myEmail.From = new MailAddress(string.Format("{0}@xxxxx.com.cn", MailName));//mail from
                                                                                             //myEmail.To.Add(new MailAddress(MailTo));
                string[] MailToAll = MailTo.Split(';');
                for (int i = 0; i < MailToAll.Length; i++)
                {
                    myEmail.To.Add(new MailAddress(MailToAll[i]));
                }

                // 設定密送 2022-10-21 tom
                if (!string.IsNullOrEmpty(MailBCC))
                {
                    string[] MailBCCAll = MailBCC.Split(';');
                    for (int i = 0; i < MailBCCAll.Length; i++)
                    {
                        myEmail.Bcc.Add(new MailAddress(MailBCCAll[i]));
                    }
                }

                myEmail.Subject = MailSubject;//郵件主題
                if (MailAttachments != null)
                {
                    myEmail.Attachments.Add(new Attachment(MailAttachments));
                }
                //myEmail.Attachments.Add(new Attachment(MailAttachments));
                if (MailAttachments2 != null)
                {
                    myEmail.Attachments.Add(new Attachment(MailAttachments2));
                }
                AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(MailHTMLBody, null, "text/html");
                myEmail.AlternateViews.Add(htmlBody);

                myEmail.BodyEncoding = Encoding.UTF8; //編碼格式
                myEmail.Priority = MailPriority.Normal; //重要性 

                SmtpClient smtp = new SmtpClient();
                smtp.UseDefaultCredentials = true;

                smtp.Port = 25;
                smtp.Host = "10.3.1.1";
                smtp.EnableSsl = false;
                smtp.Send(myEmail);
                message = "发送成功";
                return true;
            }
            catch (System.Exception ex)
            {
                message = ex.ToString();
                return false;
            }
        }
    }

调用类:

 //郵件發送
        public bool emails(string MailFrom, string MailTo, string MailSubject, string Content, string FilePath)
        {
            try
            {
                EmailHelper EMAIL = new EmailHelper();
                messageString = "生成成功";
                EMAIL.MailName = MailFrom + System.DateTime.Now.ToString("yyyyMMdd");
                EMAIL.MailTo = MailTo;
                //EMAIL.MailTo = mEmailResult;
                //EMAIL.MailCC = "Kay@xxxxx.com.cn;";
                //EMAIL.MailBCC = "Kay@xxxxx.com.cn";
                EMAIL.MailSubject = MailSubject + DateTime.Now.ToString("yyyy-MM-dd");
                EMAIL.MailHTMLBody = "<table>";
                EMAIL.MailHTMLBody = "<table><tr><td>Dear Sirs:</td></tr><tr><td>&nbsp;</td></tr><tr><td style='color:red'>" + Content + "</td></tr>";
                EMAIL.MailHTMLBody += "<tr><td><span style='background:aqua;mso-highlight:aqua'></span></td></tr></table>";
                //EMAIL.MailAttachments = fileName;
                EMAIL.MailAttachments = FilePath;
                resultBool = EMAIL.Send(ref messageString);
                return true;
                if (!resultBool)
                {
                    messageString = "郵件發送失敗!" + messageString;
                    return false;
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

实例:

            string filePath = "产量.xlsx"; // 替换为你的文件路径
            MailFrom = "Information";//发件人
            MailTo = "Kay@xxxxx.com.cn;Dai@xxxxx.com.cn";//收件人
            MailSubject = "测试数据";//主题
            Content ="" +Line_N + "-每小时产量.xlsx 附件,请查收!";//附件
            if (emails(MailFrom, MailTo, MailSubject, Content, filePath))
            {
                MessageBox.Show("发送成功");
            }
            else
            {
                MessageBox.Show("发送失败");
            }

以上代码可以在项目中添加一个按钮进行测试。

结语:本文主要分享如何用C#代码发送信息给邮件,亲测可用。

相关文章:

  • 为什么Agent会失败?2025年对AI的预测
  • 网络安全中的机器学习
  • Java 反射
  • docker 部署JAR
  • ES10中Object.fromEntries(),trimStart() ,trimend()的使用方法和使用场景例子
  • 三、linux字符驱动详解
  • 算法——位运算
  • 零基础学QT、C++(三)魔改QT组件库(付源码)
  • 第42天:Web开发-JavaEE应用Servlet技术路由配置生命周期过滤器Filter监听器Listen
  • C#```
  • Server-Sent Events(SSE)协议详解
  • 千峰React:组件使用(1)
  • 基于Spring Boot的售楼管理系统设计与实现(LW+源码+讲解)
  • Spring Cloud中如何使用Eureka:超详细指南
  • 产业园区数字孪生规划方案(40页PPT)
  • 嵌入式学习(18)---Linux文件编程中的进程
  • 代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
  • 《Kettle保姆级教学-性能调优,抽取速率提升800%》
  • java网络编程02 - HTTP、HTTPS详解
  • 若依-@Excel新增注解numberFormat
  • 默茨当选德国总理
  • 微软通讯软件Skype正式停止运营:斥资85亿美元购入,月活用户曾超3亿
  • 玉渊谭天丨是自保还是自残?八个恶果透视美国征收100%电影关税
  • 法国宣布投资1亿欧元吸引外国科研人员
  • 牧草之王苜蓿的江南驯化史
  • 浙江医生举报3岁男童疑遭生父虐待,妇联:已跟爷爷奶奶回家