.Net Core邮件发送之MailKit
一 、在.Net Core中MailKit中提供了邮件的基础封装
它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议
Nuget命令:
Install-Package MailKit
官方Git地址:https://github.com/jstedfast/MailKit
注:
1.目前版本v1.16.1
2.SmtpClient中处理编码有些问题,对于服务器的异常相应中文显示乱码
二、使用实例:
MimeMessage message = new MimeMessage();
//发件人
message.From.Add(new MailboxAddress("张三丰", "xxx@qq.com"));
//收件人
message.To.Add(new MailboxAddress("测试", "xxx@163.com"));
//标题
message.Subject = "测试标题内容";
//产生一个支持HTml 的TextPart
TextPart body = new TextPart(TextFormat.Html)
{
Text = "<h1>测试内容</h1>"
}; //创建Multipart添加附件
Multipart multipart = new Multipart("mixed");
multipart.Add(body);
//附件
string absolutePath = @"F:\桌面\新建文件夹\mysql1.sql";
MimePart attachment = new MimePart()
{
//读取文件,只能用绝对路径
ContentObject = new ContentObject(File.OpenRead(absolutePath), ContentEncoding.Default),
ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
ContentTransferEncoding = ContentEncoding.Base64,
//文件名字
FileName = Path.GetFileName(absolutePath)
};
multipart.Add(attachment); //正文内容,发送
message.Body = multipart;
//message.Body = body;
using (SmtpClient client = new SmtpClient())
{
//Smtp服务器
client.Connect("smtp.qq.com", , false);
//登录,发送
//特别说明,对于服务器端的中文相应,Exception中有编码问题,显示乱码了
client.Authenticate("xxx@qq.com", "xxx"); client.Send(message);
//断开
client.Disconnect(true);
Console.WriteLine("发送邮件成功");
}
关于邮件中待手机号的识别测试如下:
(特别说明:目前没找到,客户端发送qq群邮件的方法。 暂时还是只发给个人。 )
MimeMessage message = new MimeMessage();
//发件人
message.From.Add(new MailboxAddress("xxx@qq.com"));
//收件人
message.To.Add(new MailboxAddress("xxxx@qq.com"));
//标题
message.Subject = "测试";
//内容
TextPart body = new TextPart(TextFormat.Html)
{
//a标签正常的话会被 客户端屏蔽掉
//Text = "<h1>测试内容</h1> <a href='tel:15154123615'>15154123615</a>" //a标签不正常关闭,客户端可以一键拨打(支持在IOS的QQ端,QQ邮箱App端 原因:这两个客户端对于手机号自动识别)
//在微信提醒客户端中就不支持
Text = "<h1>测试内容</h1> <a href='tel:15154123615'>15154123615</tel>"
};
message.Body = body;
using (SmtpClient client = new SmtpClient())
{
//smtp服务器
client.Connect("smtp.qq.com", , false);
//登录账号
client.Authenticate("xxxx@qq.com", "password");
client.Send(message);
client.Disconnect(true);
Console.WriteLine("邮件发送成功");
}
更多:
Asp.Net Core WebAPI入门整理(三)跨域处理
.Net Core邮件发送之MailKit的更多相关文章
- asp.net core 邮件发送
由于core不带smpt 所以借助MimeKit 以163邮箱为例 var message = new MimeMessage ();message.From.Add (new MailboxAddr ...
- 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...
- 用ASP.NET Core 1.0中实现邮件发送功能
准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...
- AspNetCore 目前不支持SMTP协议(基于开源组件开发邮件发送,它们分别是MailKit 和 FluentEmail )
net所有的功能都要重新来一遍,集成众多类库,core任重道远,且发展且努力!! 我们都知道,很多的邮件发送都是基于这个SMTP协议,但现在的.net core对这方面还不太支持,所以我们选择这两个组 ...
- ASP.NET Core中使用MialKit实现邮件发送
# 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...
- ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)
Introduction Email sending is a pretty common task for almost every application. ASP.NET Boilerplate ...
- 循序渐进VUE+Element 前端应用开发(33)--- 邮件参数配置和模板邮件发送处理
在系统处理中,有时候需要发送邮件通知用户,如新增用户的邮件确认,密码找回,以及常规订阅消息.通知等内容处理,都可以通过邮件的方式进行处理.本篇随笔介绍结合VUE+Element 前端,实现系统的邮件参 ...
- 结合ABP源码实现邮件发送功能
1. 前言 2. 实现过程 1. 代码图(重) 2.具体实现 2.1 定义AppSettingNames及AppSettingProvider 2.2 EmailSenderConfiguration ...
- 使用spring的邮件发送功能
使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...
随机推荐
- vue系列之核心思想
1.数据驱动 只要改变数据,Vuejs会通过Directives指令对DOM进行封装,当数据发生变化,会通知相应的DOM进行变化 Vuejs会对DOM进行监听,通过DOMListeners监听视图的变 ...
- OCM_第九天课程:Section4—》OCM课程环境搭建
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- three.js 相机camera位置属性设置详解
开始很懵逼,完全不能理解,有个position,还要up和lookAt干嘛. [黑人问号脸❓❓❓] 既然是位置属性不明白,那默认其它属性都懂了. 上坐标轴: 先来第一个position属性,可以设置x ...
- poj2763树链剖分边权+区间和
自己写的比原来的板子常数小了不少嘻嘻,边权处理起来比点权要复杂一下 由于根节点没有被映射的边,其被访问到的顺序是0,直接排除在线段树外 #include<iostream> #includ ...
- Memcached和Redis
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ Memcached和Redis ...
- 【ioi2011】Dancing elephants
题解: 这题是lct并不难想 关键在于如何建图 如果把每个大象连向第一个不能处理的大象 那么cut操作要删除的就是一个点而不是边 所以可以采用先离散化, 之后对于存在的大象,用边连向第一个不能处理的大 ...
- BZOJ1297 [SCOI2009]迷路 矩阵乘法
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1297 题意概括 有向图有 N 个节点,从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1. ...
- 065 xftp的使用
1.xftp 一个基于 MS windows 平台的功能强大的SFTP.FTP 文件传输软件 2.下载安装 *3.在linux上安装服务 sudo yum install vsftp
- input禁止输入空格
<input name="" onkeyup="this.value=this.value.replace(/^\s+|\s+$/g,'')" value ...
- HihoCoder - 1078 【区间修改】
题目链接:https://vjudge.net/contest/241135#problem/A 题目大意:(与区间修改模板题相同) 输入 每个测试点(输入文件)有且仅有一组测试数据. 每组测试数据的 ...