.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);
                
复制代码

 

 

posted @   月下之神  阅读(301)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示