C# SMTP发送邮件的示例

作者:Bruce- 时间:2021-06-20 12:36:10 

在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。

短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用C#实现SMTP发送邮件


复制代码/// <summary>
   /// 发送邮件
   /// </summary>
   /// <param name="M">发件内容</param>
   public static void LocalHostSend(SendMail M)
   {
     try
     {
       MailMessage myMail = new MailMessage();//发送电子邮件类

foreach (string item in M.Addressee)//添加收件人
       {
         myMail.To.Add(item);
       }
       foreach (string item in M.CC)//添加抄送
       {
         myMail.CC.Add(item);

}

myMail.Subject = M.Theme;//邮件主题
       myMail.SubjectEncoding = M.SubjectEncoding;//邮件标题编码

myMail.From = new MailAddress(M.From, M.DisplayName, M.SubjectEncoding);//发件信息

myMail.Body = M.Body;//邮件内容
       myMail.BodyEncoding = M.BodyEncoding;//邮件内容编码
       myMail.IsBodyHtml = M.IsBodyHtml;//是否是HTML邮件
       myMail.Priority = M.Priority;//邮件优先级

SmtpClient smtp = new SmtpClient();//SMTP协议

smtp.EnableSsl = M.EnableSsl;//是否使用SSL安全加密  使用QQ邮箱必选
       smtp.UseDefaultCredentials = M.UseDefaultCredentials;

smtp.Host = M.Host;//主机

smtp.Credentials = new NetworkCredential(M.From, M.Password);//验证发件人信息

smtp.Send(myMail);//发送

}
     catch (Exception e)
     {
       MessageBox.Show(e.Message);
     }

}

public class SendMail
 {
   public string From { get; set; }//发件人地址
   public string Password { get; set; }//密码
   public string [] Addressee { get; set; }//收件人地址
   public string [] CC { get; set; }//抄送
   public string Theme { get; set; }//主题
   public string DisplayName { get; set; }//发件人名称
   public Encoding SubjectEncoding { get; set; }//编码
   public string Body { get; set; }//邮件内容
   public Encoding BodyEncoding { get; set; }//邮件内容编码
   public bool IsBodyHtml { get; set; }//是否HTML邮件
   public MailPriority Priority { get; set; }//邮件优先级
   public bool EnableSsl { get; set; }//是否ssl
   public bool UseDefaultCredentials { get; set; }
   public string Host { get; set; }

}

来源:https://www.cnblogs.com/xwcs/p/13508438.html

标签:c#,smtp,发送邮件
0
投稿

猜你喜欢

  • 微服务分布式架构实现日志链路跟踪的方法

    2023-11-29 15:43:16
  • java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化

    2023-04-01 07:25:00
  • 解决SpringMvc中普通类注入Service为null的问题

    2023-10-29 01:23:25
  • 以Java代码为例讲解设计模式中的简单工厂模式

    2023-02-09 15:14:17
  • Java中的异常处理用法及其架构和使用建议

    2023-02-05 21:27:16
  • Java实战之飞翔的小鸟小游戏

    2022-10-04 20:37:20
  • C#中定时任务被阻塞问题的解决方法

    2023-10-27 00:56:02
  • Android录音功能的实现以及踩坑实战记录

    2022-01-06 14:03:29
  • 浅谈java中OO的概念和设计原则(必看)

    2023-11-24 13:09:56
  • Spring Boot启动过程(四)之Spring Boot内嵌Tomcat启动

    2023-09-21 00:16:18
  • 浅析Java中Map与HashMap,Hashtable,HashSet的区别

    2022-05-31 13:46:57
  • C#之WinForm跨线程访问控件实例

    2023-11-20 19:05:13
  • Android编程实现状态保存的方法分析

    2023-07-17 12:54:45
  • Java异步处理机制实例详解

    2022-05-12 01:39:37
  • java 算法之希尔排序详解及实现代码

    2022-07-12 23:09:45
  • Java Swing JFrame窗口的实现

    2021-11-30 12:03:37
  • Java class文件格式之数据类型(二)_动力节点Java学院整理

    2022-06-26 02:15:45
  • Java读文件修改默认换行符的实现

    2023-11-29 08:24:32
  • Java使用Thread和Runnable的线程实现方法比较

    2021-11-17 07:52:54
  • c#定时器使用示例详解

    2022-01-09 03:31:05
  • asp之家 软件编程 m.aspxhome.com