C# 发送邮件
流程说明
以QQ邮箱为例,在设置-账户一栏中,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”
根据提示,开启POP3/SMTP服务,最后会得到一串授权码
之后查询QQ邮箱的服务器,关键词是 qq email host
得到信息:https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=167&&id=28
至此得到所有需要的信息,开始写代码
关键代码
.net与.net core类似
//host和端口号,根据服务类型查询对应邮件的设置
SmtpClient SmtpServer = new SmtpClient("smtp.qq.com");
var mail = new MailMessage();
mail.From = new MailAddress("sender@qq.com");
//这里可以添加多个
mail.To.Add("receiver@qq.com");
//标题
mail.Subject = "Test Mail - 1";
mail.IsBodyHtml = true;
string htmlBody;
htmlBody = "Write some HTML code here";
//内容
mail.Body = htmlBody;
//端口号
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = false;
//身份认证
//这里的密码是授权码,而非账号密码,在开启POP3/SMTP服务服务之后获得
SmtpServer.Credentials = new System.Net.NetworkCredential("sender@qq.com", "password");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
示例代码
参考资料
How to add smtp hotmail account to send mail
Sending Email In .NET Core 2.0
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。