具体代码如下所示:
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