.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("张三丰", "[email protected]"));
//收件人
message.To.Add(new MailboxAddress("测试", "[email protected]"));
//标题
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", 587, false);
    //登录,发送
    //特别说明,对于服务器端的中文相应,Exception中有编码问题,显示乱码了
    client.Authenticate("[email protected]", "xxx");

    client.Send(message);
    //断开
    client.Disconnect(true);
    Console.WriteLine("发送邮件成功");
}

更多:

.NetCore中EFCore for MySql整理

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

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

时间: 2024-11-08 10:22:29

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

asp.net core 邮件发送

由于core不带smpt 所以借助MimeKit 以163邮箱为例 var message = new MimeMessage ();message.From.Add (new MailboxAddress ("王大昭", "[email protected]"));            message.To.Add(new MailboxAddress("王昭", "[email protected]"));       

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

在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还是很耐心的. 最终结论,是由于MailKit发送了两次EHLO命令,查看了MailKit源码后竟然发现,里面写了硬编码: if (host != "smtp.strato.de" && host != "smtp.sina.com") Ehlo (can

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

准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试一下,何况是开源,下面是代码可实现SMTP邮件发送: using MailKit.Net.Smtp; using MailKit.Security; using MimeKit; using System.Threading.Tasks; namespace ConsoleApp1 { public

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

# 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮件发送帮助类 /// <summary> /// 发送邮件 /// </summary> /// <param name="Name">发件人名字</param> /// <param name="receive"&

asp.net core 2.0 邮件发送服务

网上找了一下,发现一个很不错的邮件发送服务Mailgun,首先要注册Mailgun账号,获得apikey以及domainame: 然后项目中安装nuget: 配置并注册服务: public interface IEmailSender { Task SendEmailAsync(string email, string subject, string message); } public class EmailSender:IEmailSender { private readonly Emai

spring各种邮件发送

参考地址一 参考地址二 Spring邮件抽象层的主要包为org.springframework.mail.它包括了发送电子邮件的主要接口MailSender,和值对象SimpleMailMessage,它封装了简单邮件的属性如from, to,cc,subject,text. 包里还包含一棵以MailException为根的checked Exception继承树,它们提供了对底层邮件系统异常的高级别抽象. 要获得关于邮件异常层次的更丰富的信息,请参考Javadocs. 为了使用JavaMail

邮件发送已经说烂了的功能

我相信每一个系统,都会有邮件发送的场景,而且这种使用场景有很多,比如登入一个系统,忘记密码,那就要通过忘记密码功能,检查你注册邮件,然后发一封重设密码的邮件给你(当然现在可能通过手机验证码处理的方案多). 到今天为止我一直以为,.NET发送邮件组件有很多,我之前了解的有.Net 自带的System.Net.Mail,JMail,MimeKit&MailKit. 今天我用度娘搜索了一下“发送邮件 组件”,搜索结果大概汇总一下,.Net 自带的,CDO 组件,JMail 组件 就这三个.没有搜索到 

logback配置错误邮件发送

配置logback发送error级别日志到指定邮箱 需要导入jar包:janino.jar 1 <property name="smtpHost" value="smtp.163.com" /> 2 <property name="smtpPort" value="25" /> 3 <property name="username" value="[email pro

JAVA 邮件发送工具类

1.封装邮件接收地址MODEL和邮件信息MODEL package com.sicdt.jnzxgzc.common.mail.model; import java.io.Serializable; /** * * <br>类 名: MailAddress * <br>描 述: InternetAddress的封装类 * <br>作 者: shizhenwei * <br>创 建: 2017年8月4日 * <br>版 本: v1.0.0 * &l