C#中收发QQ邮箱电子邮件

1.安装第三方库MailKit

复制代码
#.NET Coredotnet add package MailKit --version 2.5.1
#.NET FrameworkInstall-Package MailKit -Version 2.5.1

2.1发送代码

复制代码
try{    MimeMessage message = new MimeMessage();    message.From.Add(new MailboxAddress("备注", "xxx@qq.com"));//发送邮箱    message.To.Add(new MailboxAddress("备注", "xxx@163.com"));//接收邮箱    message.Subject = "邮件测试标题";//标题    BodyBuilder bodyBuilder = new BodyBuilder();    bodyBuilder.TextBody = "邮件测试正文";    message.Body = bodyBuilder.ToMessageBody();
    //创建SMTP客户端    using (SmtpClient client = new SmtpClient())    {        client.ServerCertificateValidationCallback = (s, c, h, e) => true;        client.Connect("smtp.qq.com", 465, true);//smtp服务器,端口,是否开启ssl        client.Authenticate("xxx@qq.com", "password");//这里的password填授权码        client.Send(message);        client.Disconnect(true);    }}catch (Exception ex){    Console.WriteLine("发送邮件失败:" + ex.Message);}

2.2接收代码

复制代码
try{    //创建IMAP客户端    using (ImapClient client = new ImapClient())    {        client.Connect("imap.qq.com", 993, true);//imap服务器,端口,是否开启ssl        client.Authenticate("xxx@qq.com", "password");//这里的password填授权码        // 打开收件箱        var inbox = client.Inbox;        inbox.Open(FolderAccess.ReadOnly);//只读        // 获取收件箱中的邮件数量        Console.WriteLine("收件箱中共有 {0} 封邮件", inbox.Count);        // 遍历收件箱中的邮件并输出主题        for (int i = 0; i < inbox.Count; i++)        {            var message = inbox.GetMessage(i);            Console.WriteLine("邮件主题:{0}", message.Subject);        }        client.Disconnect(true);    }}catch (Exception ex){    Console.WriteLine("接收邮件失败:" + ex.Message);}

注意:

用户名/帐户: 你的QQ邮箱完整的地址

密码: 生成的授权码

电子邮件地址: 你的QQ邮箱的完整邮件地址

接收邮件服务器: imap.qq.com,使用SSL,端口号993

发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587

获取授权码:

1.登录邮箱

2.【账号与安全】

3.【安全设置-生成授权码】

相关推荐
南雨北斗24 分钟前
vue3项目中的env.d.ts文件
前端
烈风逍遥32 分钟前
第五篇:通用 LLM 流式对话:前后端联接的完整实现
前端·后端·架构
aixingpan34 分钟前
aixingpan.cn API开发文档:api_docs_trichart_natal_progression_sec_transit2接口指南
前端·php
江华森44 分钟前
Web 安全实战:验证机制、会话管理、SQL 注入、XSS 与 CSRF
前端
2501_930707781 小时前
使用C#代码使用条件格式为 Excel 隔行设置颜色
c#·excel
江华森1 小时前
HTTPS 实战:TLS 握手成本、自制 CA 与证书、三大常见故障
前端
江华森1 小时前
HTTP 再邂逅:报文结构、请求方法、状态码与 Cookie/Session
前端
szephyr1 小时前
前端错误监控实战:用 Sentry 把线上报错从“用户反馈“变成“主动发现“
前端·sentry·稳定性·前端监控·错误监控