QQ邮箱大家基本是人手一个,但是如果需要在我们的代码中使用的话,需要做一下简单的设置。
设置如下:
- 进入QQ邮箱的设置页面,点击账户,然后将以下功能开启
上面的帮助链接有兴趣的话也可以了解下 - 设置好之后可以点击生成授权码,这个授权码到时候就会作为我们程序的登录密码使用。
- 设置完成
实现功能:
使用QQ邮箱发送邮件
开发环境:
开发工具: Visual Studio 2013
.NET Framework版本:4.5
实现代码:
/// <summary>
/// 邮件发送
/// </summary>
/// <param name="sendAddr">发送邮箱地址</param>
/// <param name="sendPwd">发送邮箱密码(qq邮箱授权码)</param>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件内容</param>
/// <param name="toAddr">发送到邮箱的地址</param>
/// <param name="ccAddr">抄送邮箱的地址</param>
/// <param name="host">SMTP 事务的主机的名称或 IP 地址</param>
/// <param name="port">SMTP 事务的主机的端口</param>
/// <returns></returns>
static bool Send(string sendAddr, string sendPwd, string title, string content, List<string> toAddr, List<string> ccAddr, int port=25, string host = "smtp.qq.com")
{
try
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(sendAddr);
mail.Subject = title;
mail.Body = content;
//mail.IsBodyHtml = true;
foreach (string s in toAddr)
{
mail.To.Add(s);
}
foreach (string s in ccAddr)
{
mail.CC.Add(s);
}
SmtpClient smtp = new SmtpClient(host, port);
smtp.Credentials = new NetworkCredential(sendAddr, sendPwd);
smtp.EnableSsl = true;
smtp.Send(mail);
return true;
}
catch
{
return false;
}
}
//然后这里直接调用即可
bool isSend = Send("邮箱账号", "授权码", "邮件标题", "邮件内容", new List<string> { "发送人" }, new List<string>());
Console.WriteLine(isSend ? "发送成功" : "发送失败");
Console.ReadKey();
//同时加入一个可以插入图片的方式,将上面的mail.IsBodyHtml = true;解注
//然后这里提一下,放到服务器使用的时候,建议使用SSL,587端口,即
string imgData = "<br/><DIV><IMG src=\"data:image/ png;base64,"+base64+"\"></IMG></DIV>";
Send("邮箱账号", "授权码", "邮件标题", "邮件内容", new List<string> { "发送人" }, new List<string>(),587);
由简入繁,拿来即用
更多精彩,请搜索公众号:Csharp 小记