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.【安全设置-生成授权码】