.net core 利用qq发送邮件
1、进入qq邮箱首页,点击设置
2、点击 账户 选项卡 ,划到大概中间部分,有一个服务选项区。经实验开启前两个就可以了。
3、点击下方的 生成授权码,在开启服务之后会自动生成一次。这一步如果绑定了密保,会先进行一次身份验证。验证之后会发放一个授权码。这个授权码,在程序里会用到。
*******************************************************代码部分*******************************************************
public class EmailService : IEmailService
{
private readonly IConfiguration _configuration;
public EmailService(IConfiguration configuration)
{
_configuration = configuration;
}
public async Task SendEmailAsync(MimeMessage message)
{
var host = "smtp.qq.com";
var port = 465;
var useSsl = true;
var from_username = "*******@qq.com";
// 授权码
var from_password = "********";
var from_name = "好医生";
var from_address = "********@qq.com";
var address = new List<MailboxAddress>
{
new MailboxAddress("123456","123456@qq.com"),
new MailboxAddress("56789","56789@qq.com")
};
message.From.Add(new MailboxAddress(from_name, from_address));
message.To.AddRange(address);
using var client = new SmtpClient
{
ServerCertificateValidationCallback = (s, c, h, e) => true
};
client.AuthenticationMechanisms.Remove("XOAUTH2");
await client.ConnectAsync(host, port, useSsl);
await client.AuthenticateAsync(from_username, from_password);
await client.SendAsync(message);
await client.DisconnectAsync(true);
}
}
调用
var message = new MimeMessage
{
Subject = "程序异常",
Body = new BodyBuilder
{
HtmlBody = msg
}.ToMessageBody()
};
await _emailService.SendEmailAsync(message);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!