C# 谷歌邮箱发送邮件
1.介绍
记录一下,那些年踩过的坑!
2.谷歌账号及邮箱配置过程
第一步:设置gmail邮箱账号,登录进google.com谷歌账号(需要翻墙) ,进入邮箱服务器,点击右上角的设置,然后选择转发和 POP/IMAP,启用POP和IMAP这两项的功能.
链接: https://mail.google.com/mail/u/0/?ogbl#settings/fwdandpop
第二步:降低谷歌账号的安全性访问 ,设置“启用”按钮会自动保存,这个是为了降低谷歌的安全检查措施。 如果被停用了需要更改的安全设备性质才能保存。
进入账号链接: https://www.google.com/settings/security/lesssecureapps
第三步:允许任何设备登陆
链接: https://accounts.google.com/b/0/DisplayUnlockCaptcha
第四步:到谷歌账号中确认本人所为(注意:布置到生产服务器上需要在这里确认下,最好把第二、三、四步整个设置过程也在服务器上的浏览器走一次)
链接: https://myaccount.google.com/security?origin=3
a.首次调用接口时这里有时会有提示需要确认
3.代码
代码片
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="toEmail">收件人地址</param>
/// <param name="title">邮件标题</param>
/// <param name="content ">邮件内容</param>
public bool SendEmail(string toEmail, string title, string content )
{
var emailAcount = "xxxx@gmail.com";//发件邮箱
var emailPassword = "xxxx";//密码
var emailSmtp = "smtp.gmail.com";
var SenderName = "zhong";//发件人名称
MailMessage message = new MailMessage();
//设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致
MailAddress fromAddr = new MailAddress(emailAcount,SenderName);
message.From = fromAddr;
//设置收件人,可添加多个
message.To.Add(toEmail);
//设置抄送人
//message.CC.Add("xxx@gmail.com");
//设置邮件标题
message.Subject = title;
message.IsBodyHtml = true;
//设置邮件内容
message.Body = content;
//设置邮件发送服务器,服务器根据你使用的邮箱而不同
SmtpClient client = new SmtpClient(emailSmtp);
//设置发送人的邮箱账号和密码
client.Credentials = new NetworkCredential(emailAcount, emailPassword);
//启用ssl,也就是安全发送
client.EnableSsl = true;
//设置587端口
client.Port = 587;
//client.Timeout = 50000;
//client.DeliveryMethod = SmtpDeliveryMethod.Network;//Gmail的发送方式是通过网络的方式,需要指定
//client.UseDefaultCredentials = false;
try
{
//发送邮件
client.Send(message);
return true;
}
catch (Exception e)
{
Log.WriteLog("发送邮件失败" + e, "log");
return false;
}
}
4.本地调试以及发布生产后可能出现的问题
1.调试错误:连接服务器失败。这需要本地电脑翻墙才可以调试成功
2.发布生产后的错误:发送邮件失败System.Net.Mail.SmtpException: SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为:5.7.0 Authentication Required. Learn more at!!!
解决方式:再重新走一遍第三、四步。
如果还不行那就直接使用应用专用密码: 先开启两步验证, 再配置应用专用密码。用专用密码来代替原密码。参考: https://blog.csdn.net/qq_38637558/article/details/109453887