服务器之家

服务器之家 > 正文

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

时间:2020-03-12 12:03     来源/作者:爱奔跑的码农

具体代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 导包
  首先我们需要导入 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实现邮件发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://www.cnblogs.com/hzpeng/archive/2019/10/28/11724089.html

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部