• C# 发邮件


    场景:batch跑完后,通过邮件通知主机batch运行结果,这种功能n年前写过,实在不想再造个轮子,网上找了一篇

    https://blog.csdn.net/u013223198/article/details/53431896

    //Email 实体类 public class MyEmail { /// <summary> /// 发送方发送方服务器地址 /// </summary> public string strHost { get; set; } /// <summary> /// 发送方帐号 /// </summary> public string strAccount { get; set; } /// <summary> /// 发送方密码 /// </summary> public string strPwd { get; set; } /// <summary> /// 发送方邮件地址 /// </summary> public string strFrom { get; set; } /// <summary> /// 接收方邮件地址 /// </summary> public string to { get; set; } /// <summary> /// 邮件标题 /// </summary> public string title { get; set; } /// <summary> /// 邮件正文内容 /// </summary> public string content { get; set; } /// <summary> /// 附件 /// </summary> public string sfile { get; set; } } 

    //发送Email公共方法 public class SendEmailHelp { /// <summary> /// 发送邮件 /// </summary> /// <param name="strHost">发送方发送方服务器地址</param> /// <param name="strAccount">发送方帐号</param> /// <param name="strPwd">发送方密码</param> /// <param name="strFrom">发送方邮件地址</param> /// <param name="to">接收方邮件地址</param> /// <param name="title">邮件标题</param> /// <param name="content">邮件正文内容</param> /// <param name="sfile">邮件附件</param> /// <returns></returns> public bool sendMail(MyEmail e)//string strHost, string strAccount, string strPwd, string strFrom, string to, string title, string content { SmtpClient smtpClient = new SmtpClient(); if (string.IsNullOrEmpty(e.strHost)) { e.strHost = "smtp.sina.cn";//新浪测试 } if (string.IsNullOrEmpty(e.strAccount)) { e.strAccount = "xxx"; } if (string.IsNullOrEmpty(e.strPwd)) { e.strPwd = "xxx"; } if (string.IsNullOrEmpty(e.strFrom)) { e.strFrom = "xxx"; } smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 smtpClient.Host = e.strHost; ;//指定SMTP服务器 smtpClient.Credentials = new System.Net.NetworkCredential(e.strAccount, e.strPwd);//用户名和密码 MailMessage mailMessage = new MailMessage(e.strFrom, e.to); mailMessage.Subject = e.title;//主题 mailMessage.Body = e.content;//内容 mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码 mailMessage.IsBodyHtml = true;//设置为HTML格式 mailMessage.Priority = MailPriority.High;//优先级 //// 添加附件 if (e.sfile != "") { mailMessage.Attachments.Add(new Attachment(e.sfile)); } try { smtpClient.Send(mailMessage); mailMessage.Dispose();//释放资源 return true; } catch { return false; } } }

    测试代码:

    MyEmail ee = new MyEmail();

    ee.to = "XXXX@163.com";

    ee.title = "huawei 已经转换完成文件 " + directoryPath;
    ee.content = "huawei 已经转换完成文件 " + directoryPath;
    SendEmailHelp mailTest = new SendEmailHelp();
    mailTest.sendMail(ee);

  • 相关阅读:
    .Net常见面试题整理(一)——值类型和引用类型
    c#字符串常见操作
    sealed,new,virtual,abstract与override
    c#好的程序员必须掌握的编码习惯
    c#区分传值调用 传引用调用。
    C# const和readonly的区别
    .Net常见面试题整理(二)——装箱和拆箱
    C#Equals()和运算符==的区别
    private,protected,public和internal的区别
    2013应届毕业生“数码视讯”校招应聘总结
  • 原文地址:https://www.cnblogs.com/marszhw/p/9746302.html
Copyright © 2020-2023  润新知