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

具体代码如下所示:

# 导包
  首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中。
# 引用命名空间
using MailKit.Net.Smtp;
using MimeKit;
# 邮件发送帮助类
  /// <summary>
  /// 发送邮件
  /// </summary>
  /// <param name="Name">发件人名字</param>
  /// <param name="receive">接收邮箱</param>
  /// <param name="sender">发送邮箱</param>
  /// <param name="password">邮箱密码</param>
  /// <param name="host">邮箱主机</param>
  /// <param name="port">邮箱端口</param>
  /// <param name="subject">邮件主题</param>
  /// <param name="body">邮件内容</param>
  /// <returns></returns>
  public async Task<bool> SendMailAsync(string Name, string receive, string sender, string password, string host, int port, string subject, string body)
  {
   try
   {
          # MimeMessage代表一封电子邮件的对象
    var message = new MimeMessage();
          # 添加发件人地址 Name 发件人名字 sender 发件人邮箱
    message.From.Add(new MailboxAddress(Name, sender));
          # 添加收件人地址
    message.To.Add(new MailboxAddress("", receive));
          # 设置邮件主题信息
    message.Subject = subject;
          # 设置邮件内容
    var bodyBuilder = new BodyBuilder() { HtmlBody = body };
    message.Body = bodyBuilder.ToMessageBody();
    using (var client = new SmtpClient())
    {
     // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
     client.ServerCertificateValidationCallback = (s, c, h, e) => true;
     // Note: since we don't have an OAuth2 token, disable
     // the XOAUTH2 authentication mechanism.
     client.AuthenticationMechanisms.Remove("XOAUTH2");
     client.CheckCertificateRevocation = false;
     //client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
     client.Connect(host, port, MailKit.Security.SecureSocketOptions.Auto);
     // Note: only needed if the SMTP server requires authentication
     client.Authenticate(sender, password);
     await client.SendAsync(message);
     client.Disconnect(true);
     return true;
    }
   }
   catch (Exception ex)
   {
   }
   return false;
  }

借助这一个简单的邮件发送类我们就可以已经可以实现邮件发送功能了。

# 拓展(NuGet常用命令) 

1、安装指定版本:install-package <程序包名> -version <版本号>

2、更新包:Update-Package <程序包名>

3、重新安装所有Nuget包(整个解决方案都会重新安装)

  update-package -reinstall

4、重新安装指定项目所有Nuget包

update-package -project <项目名称> -reinstall

5、正常卸载:uninstall-package <程序包名>

6、强制卸载:Uninstall-Package <程序包名> -Force

总结

以上所述是小编给大家介绍的ASP.NET Core中使用MialKit实现邮件发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 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做的个性化的邮件发送系统

    一.运行环境 虽然Microsoft公司推出Visual Studio .NET已经有一段时间了,但.NET Framework SDK却依然还是BETA版,分别是BETA 1和BETA 2.这二个版本之间也有很大的差异,譬如说,很多名称空间(NameSpace)的名字都不一样.我们这里选择的是BETA 2.操作系统是Windows 2000 professional版. 二.基本知识 首先介绍一下做邮件发送系统中用到的一些知识. (一).先来简要的认识一下在程序中要用到的协议--简单邮件传输协

  • asp.net2.0实现邮件发送(测试成功)

    1.Default.aspx代码如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

  • ASP.NET邮件发送system.Net.Mail案例

    本文实例为大家分享了ASP.NET邮件发送案例,供大家参考,具体内容如下 1.前台页面 SendEmail.aspx 代码 <h2> 发送电子邮件演示 </h2> <table cellpadding="0" cellspacing="0" border="0" style="font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 15px; wi

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

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

  • ASP.NET Core中的Razor页面实现路由功能

    在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求.最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的. 关于 Razor 页面框架如何将 URL 与文件相匹配,有一些规则您必须了解,以及如何根据需要自定义规则改变输出的结果.如果您将 Razor 页面与 Web Form 框架进行比较,您还需要了解取代的 Ur l参数以及在URL中传递数据的机制. 规则一,Razor

  • 详解ASP.NET Core 中的框架级依赖注入

    1.ASP.NET Core 中的依赖注入 此示例展示了框架级依赖注入如何在 ASP.NET Core 中工作. 其简单但功能强大,足以完成大部分的依赖注入工作.框架级依赖注入支持以下 scope: Singleton - 总是返回相同的实例 Transient - 每次都返回新的实例 Scoped - 在当前(request)范围内返回相同的实例 假设我们有两个要通过依赖注入来进行工作的工件: PageContext - 自定义请求上下文 Settings - 全局应用程序设置 这两个都是非常

  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)

    前言 我们知道目前 .NET Core 还不支持 SMTP 协议,当我么在使用到发送邮件功能的时候,需要借助于一些第三方组件来达到目的,今天给大家介绍两款开源的邮件发送组件,它们分别是 MailKit 和 FluentEmail , 下面我对它们分别进行介绍. MailKit 在 ASP.NET Core 中,可以使用 MailKit 来发送邮件,它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议. 你可以使用下面的方式安装: Install-Package MailKit 下面是

  • Asp.net Core中实现自定义身份认证的示例代码

    Asp.Net Core中虽然集成了许多常用的身份认证,但很多时候,我们还是需要实现自己的身份认证接口,本文这里就简单的介绍下如何实现自定义身份认证接口. 首先写一个简单的接口. [Authorize] [HttpGet] public object Foo() { return DateTime.Now.ToString(); } 由于有Authorize标记,访问函数体前会判断用户是否通过认证,由于这里没有通过认证,会的得到一个500错误. 自定义认证处理类: 实现一个IAuthentica

  • ASP.NET Core中使用xUnit进行单元测试

    单元测试的功能自从MVC的第一个版本诞生的时候,就是作为一个重要的卖点来介绍的,通常在拿MVC与webform比较的时候,单元测试就是必杀底牌,把webform碾压得一无是处. 单元测试的重要性不用多说了,有单元测试的做兜底的项目,好比给开发人员买了份保险,当然这个保险的质量取决于单元测试的质量,那些一路Mock的单元测试,看起来很美,但是什么都cover不到.目前工作中的一个老项目,有2万多个单元测试用例,其中不少是用心之作,真正落实到了业务逻辑,开发人员可以放心的去修改代码,当然一切都必须按

  • 解析Asp.net Core中使用Session的方法

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Core中引用dll,以往我们引用DLL都是直接引用,在Core里这样是不行的,必须基于NuGet添加,或者基于project.json添加,然后保存VS会启动还原类库. 第二就是使用Session的问题,Core里使用Session需要添加Session类库. 添加Session 在你的项目上基于NuG

  • 详解在ASP.NET Core 中使用Cookie中间件

    在 http:// ASP.NET Core 中使用Cookie中间件 ASP.NET Core 提供了Cookie中间件来序列化用户主题到一个加密的Cookie中并且在后来的请求中校验这个Cookie,再现用户并且分配到HttpContext对象的User属性中.如果你想提供自己的登录方式和用户数据你可以使用Cookie中间件来实现独立的功能. 添加和配置 第一步是增加Cookie中间件到你的应用中.首先使用nuget增加Microsoft.AspNetCore.Authentication.

  • 详解如何在ASP.NET Core中应用Entity Framework

    首先为大家提醒一点,.NET Core和经典.NET Framework的Library是不通用的,包括Entity Framework! 哪怎么办? 别急,微软为.NET Core发布了.NET Core版本的Entity Framework,具体配置方法与经典.NET Framework版本的稍有区别,下面的内容就为带领大家在ASP.NET Core中应用Entity Framework DB first. 注:目前部分工具处于Preview版本,正式版本可能会稍有区别. 前期准备: 1.推

  • 浅谈如何在ASP.NET Core中实现一个基础的身份认证

    ASP.NET终于可以跨平台了,但是不是我们常用的ASP.NET, 而是叫一个ASP.NET Core的新平台,他可以跨Windows, Linux, OS X等平台来部署你的web应用程序,你可以理解为,这个框架就是ASP.NET的下一个版本,相对于传统ASP.NET程序,它还是有一些不同的地方的,比如很多类库在这两个平台之间是不通用的. 今天首先我们在ASP.NET Core中来实现一个基础的身份认证,既登陆功能. 前期准备: 1.推荐使用 VS 2015 Update3 作为你的IDE,下

随机推荐