NetCore 发送邮件
Net Core2.0出来后,已经自带了邮件服务。但是对于低版本来说,是无法使用自带的邮件服务的,只能通过第三方工具来实现。
这里我简单说一下使用MailKit这个包来发送邮件
1. 安装MailKit NuGet包。
2. 实现方法
using MimeKit; using MailKit.Net.Smtp; public void SendMail() { try { var message = new MimeMessage(); message.From.Add(new MailboxAddress("xxx@163.com")); message.To.Add(new MailboxAddress("xxx@163.com")); message.Subject = "星期天去哪里玩?"; message.Body = new TextPart("plain") { Text = "我想去故宫玩,如何" }; 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; client.Connect("smtp.163.com", 587, true); // Note: since we don't have an OAuth2 token, disable // the XOAUTH2 authentication mechanism. client.AuthenticationMechanisms.Remove("XOAUTH2"); // Note: only needed if the SMTP server requires authentication client.Authenticate("xxx@163.com", "password"); client.Send(message); client.Disconnect(true); } } catch(Exception ex) { } }
这里需要注意几点:
1. 需要用587端口,并且开启SSL
2. 检查邮箱设置里面是否开启 POP3/SMTP、IMAP/SMTP服务
参考链接:
https://stackoverflow.com/questions/44305186/the-smtp-server-has-unexpectedly-disconnected-in-mailkit
http://www.cnblogs.com/savorboard/p/aspnetcore-email.html