一 、在.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("邮件发送成功");
}

更多:

.NetCore中EFCore for MySql整理

Asp.Net Core WebAPI入门整理(三)跨域处理

Asp.Net Core中Json序列化处理整理

.Net Core邮件发送之MailKit的更多相关文章

  1. asp.net core 邮件发送

    由于core不带smpt 所以借助MimeKit 以163邮箱为例 var message = new MimeMessage ();message.From.Add (new MailboxAddr ...

  2. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

    在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...

  3. 用ASP.NET Core 1.0中实现邮件发送功能

    准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试 ...

  4. AspNetCore 目前不支持SMTP协议(基于开源组件开发邮件发送,它们分别是MailKit 和 FluentEmail )

    net所有的功能都要重新来一遍,集成众多类库,core任重道远,且发展且努力!! 我们都知道,很多的邮件发送都是基于这个SMTP协议,但现在的.net core对这方面还不太支持,所以我们选择这两个组 ...

  5. ASP.NET Core中使用MialKit实现邮件发送

    # 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...

  6. ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)

    Introduction Email sending is a pretty common task for almost every application. ASP.NET Boilerplate ...

  7. 循序渐进VUE+Element 前端应用开发(33)--- 邮件参数配置和模板邮件发送处理

    在系统处理中,有时候需要发送邮件通知用户,如新增用户的邮件确认,密码找回,以及常规订阅消息.通知等内容处理,都可以通过邮件的方式进行处理.本篇随笔介绍结合VUE+Element 前端,实现系统的邮件参 ...

  8. 结合ABP源码实现邮件发送功能

    1. 前言 2. 实现过程 1. 代码图(重) 2.具体实现 2.1 定义AppSettingNames及AppSettingProvider 2.2 EmailSenderConfiguration ...

  9. 使用spring的邮件发送功能

    使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...

随机推荐

  1. 【转载】如何让图片按比例响应式缩放、并自动裁剪的css技巧

    原文: http://blog.csdn.net/oulihong123/article/details/54601030 响应式网站.移动端页面在DIV CSS布局中对于图片列表或图片排版时, 如果 ...

  2. python 全栈开发,Day95(RESTful API介绍,基于Django实现RESTful API,DRF 序列化)

    昨日内容回顾 1. rest framework serializer(序列化)的简单使用 QuerySet([ obj, obj, obj]) --> JSON格式数据 0. 安装和导入: p ...

  3. 实现数据导出为.csv表格

    数据导出实现步骤: 1.查找出要导出的数据,整理为二维数组. 2.定义导出表格的字段 3.将整理的二维数组按导出表格定义的字段重新整理. 4.将整理的二维数组写入服务器中已有的一个.csv文件. 5. ...

  4. #10 //I [HNOI/AHOI2018]毒瘤

    题解: 80分做法还是听简单的 对于非树边枚举一下端点状态 然而我也不知道为什么就多t了一个点 具体实现上 最暴力的是3^n次 但是我们可以发现对于i不取,j取 i不取,j不取是可以等效成i不取,j没 ...

  5. Codeforces Round #428 (Div. 2)

    终于上蓝名了,hahahahaha,虽然这场的 B 题因为脑抽了,少考虑一种情况终判错了,还是很可惜的.. B题本来过来1500个人,终判之后只剩下了200多个,真的有毒!!!! A - Arya a ...

  6. C#介绍

    1.c#与.net框架 c#属于.net框架的一个子集. 2..net框架 3.BCL 基类库 4.编译过程 5.运行过程 6.总结 7.CLR

  7. 打印不同对象的字节表示 ( 对int*强制转换成unsigned char*的理解 )

    此文章参考<深入理解计算机系统>P31. 先看如下代码:  12345的十六进制表示为:0x00003039 #include <stdio.h> int main() { ; ...

  8. 在 xilinx SDK 使用 math.h

    在使用到cos sin tan等算法的时候添加了math库 #include <math.h> 但是却报错了 'Invoking: ARM gcc linker'arm-xilinx-ea ...

  9. js基础梳理-内存空间

    我估计有很多像我这样非计算机专业的人进入到前端之后,总是在写业务代码,思考什么什么效果如何实现,导致很多基础概念型的东西都理解得并不太清楚.经常一碰到群里讨论的些笔试题什么的,总觉得自己像是一个假前端 ...

  10. 玩转SpringCloud(F版本) 四.路由网关(zuul)

    本篇文章基于: 01)玩转SpringCloud 一.服务的注册与发现(Eureka) 02) 玩转SpringCloud 二.服务消费者(1)ribbon+restTemplate 03) 玩转Sp ...