1、Nuget安装Mailkit
2、 添加邮箱配置信息
"EmailInfo": {
"SmtpServer": ".",
"Port": 465,
"Username": "你的邮箱账号",
"Password": "你的邮箱密码"
}
3、添加
/// <summary>
/// 邮箱信息
/// </summary>
public class EmailInfoConst
{
/// <summary>
/// SMTP服务器地址
/// </summary>
public string SmtpServer { get; set; }
/// <summary>
/// 端口
/// </summary>
public int Port { get; set; }
/// <summary>
/// 用户名
/// </summary>
public string Username { get; set; }
/// <summary>
/// 密码
/// </summary>
public string Password { get; set; }
}
4、 注入邮箱配置信息
(("EmailInfo").Get<EmailInfoConst>());
5、添加 帮助类
/// <summary>
/// 发送邮箱
/// </summary>
[Serializable]
public static class EmailHelper
{
public static string SendEmail(EmailInfoConst emailInfo, string title, string receiveNmae, string receiveEmail, TextPart body)
{
try
{
MimeMessage message = new MimeMessage();
//发件人
(new MailboxAddress("测试发送用户", ));
//收件人
(new MailboxAddress(receiveNmae, receiveEmail));
//标题
= title;
生成一个支持Html的TextPart
//TextPart body = new TextPart()
//{
// Text = "<h1>测试内容</h1> "
//};
//创建Multipart添加附件
Multipart multipart = new Multipart("mixed");
(body);
//正文
= multipart;
using (SmtpClient client = new SmtpClient())
{
//Smtp服务器
(, , true);
if ()
{
//登录
(, );
//发送
string result = (message);
}
//断开
(true);
return "发送邮件成功";
}
}
catch (Exception ex)
{
return "发送失败";
}
}
}
5、使用
1.构造函数注入EmailInfoConst
private readonly ILogger<HomeController> _logger;
private EmailInfoConst _emailInfo;
public HomeController(ILogger<HomeController> logger, EmailInfoConst emailInfo)
{
_logger = logger;
_emailInfo = emailInfo;
}
2.调用SendEmail函数
//生成一个支持Html的TextPart
TextPart body = new TextPart()
{
Text = "<h1>测试邮件</h1> "
};
+= $"<p> 请勿回复 </p>";
string sendResult = (_emailInfo, "邮箱测试", "接收人", "接收邮箱", body);
参考1:.net core之邮件发送 - 掘金
参考2: core 发送邮件_眸笑丶的博客-****博客_.net core 发邮件