热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NETCore中怎么使用MialKit实现邮件发送功能

小编给大家分享一下ASP.NETCore中怎么使用MialKit实现邮件发送功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅

小编给大家分享一下ASP.NET Core中怎么使用MialKit实现邮件发送功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体代码如下所示:

# 导包
  首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中。
# 引用命名空间
using MailKit.Net.Smtp;
using MimeKit;
# 邮件发送帮助类
 /// 
 /// 发送邮件
 /// 
 /// 发件人名字
 /// 接收邮箱
 /// 发送邮箱
 /// 邮箱密码
 /// 邮箱主机
 /// 邮箱端口
 /// 邮件主题
 /// 邮件内容
 /// 
 public async Task 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 OAuth3 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实现邮件发送功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程笔记行业资讯频道!


推荐阅读
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Python基础知识:注释、输出和input交互
    本文介绍了Python基础知识,包括注释的使用、输出函数print的用法以及input函数的交互功能。其中涉及到字符串和整数的类型转换等内容。 ... [详细]
  • 简述在某个项目中需要分析PHP代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑ÿ ... [详细]
  • 阅读spring5源码DefaultSingletonBeanRegistry类遇到问题发现SpringBean中存在大量回调机制和aware接口,于是特意去了解 ... [详细]
  • WPF之Binding初探
      初学wpf,经常被Binding搞晕,以下记录写Binding的基础。首先,盗用张图。这图形象的说明了Binding的机理。对于Binding,意思是数据绑定,基本用法是:1、 ... [详细]
  • 获取时间的函数js代码,js获取时区代码
    本文目录一览:1、js获取服务器时间(动态)2 ... [详细]
  • 可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下: ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
author-avatar
锋仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有