C# SMTP发送邮件的示例
作者:Bruce- 发布时间:2021-06-20 12:36:10
标签:c#,smtp,发送邮件
在程序开发中通常有推送消息的需求,通常为短信服务,邮件,电话提醒。
短信及电话提醒通常需要向运营商购买服务调用接口,比较麻烦。邮件信息推送也是不错的选择,下面使用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
0
投稿
猜你喜欢
- 注解注解定义Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变
- MainApplication类文件的位置搭建 SpringBoot 项目时有一个主程序入口类.这个 MainApp 类必须在放在整个项目的
- Android中RecyclerView点击item展开列表详细内容效果如下:依然是xml文件的设计,使用了两个RelativeLayout
- 本文实例为大家分享了Java利用同步块synchronized()保证并发安全的具体代码,供大家参考,具体内容如下package day10
- AsyncTask是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度
- 通过拍照或相册中获取图片,并进行裁剪操作,然后把图片显示到ImageView上。 当然也可以上传到服务器(项目中绝大部分情况是上传
- 前言Android提供了很多种保存应用程序数据的方法。其中一种就是用SharedPreferences对象来保存我们私有的键值(key-va
- Android webview 从Lollipop(5.0)开始webview默认不允许混合模式,https当中不能加载http资源,需要设
- 本文实例为大家分享了Android实现朋友圈评论回复列表的具体代码,供大家参考,具体内容如下Android实现朋友圈评论回复列表Androi
- 业务背景电商订单项目分正向和逆向两个部分:其中正向数据库记录了订单的基本信息,包括订单基本信息、订单商品信息、优惠卷信息、发票信息、账期信息
- 简介happens-before是JMM的核心概念。理解happens-before是了解JMM的关键。1、设计意图JMM的设计需要考虑两个
- 前言出去面试的时候,对java的集合框架考察的知识点还是蛮多的。除了基础的集合常见API使用,对集合底层的实现原理以及数据结构等也有很多考察
- C# 关于Invoke首先说下,invoke和begininvoke的使用有两种情况:control中的invoke、begininvoke
- @Configuration注解的类:/** * @Description 测试用的配置类 * @Author 弟中弟 * @CreateT
- 概述:Flutter中常用的滑动布局 ScrollView 有 SingleChildScrollView、NestedScrollView
- 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。数组虽然也可以存
- 一.NET Remoting 介绍简介.NET Remoting与MSMQ不同,它不支持离线可得,另外只适合.NET平台的程序进行通信。它提
- 您好,我是贾斯汀,欢迎又进来学习啦!【学习背景】学习Java的小伙伴,都知道想要提升个人技术水平,阅读JDK源码少不了,但是说实话还是有些难
- 废话不多说,我们先来认识一下这个GDI+,看看它到底长什么样。GDI+:Graphics Device Interface Plus也就是图
- 前言文件上传是项目开发中最常见的功能之一 ,SpringMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配Multi