Gmail发邮件
Posted blogcore
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gmail发邮件相关的知识,希望对你有一定的参考价值。
1、需求说明
在万网或者特别是阿里云的云服务器上,往往都是不开21端口,导致发邮件失败,另外如果是国外服务器,也需要换成465端口的Gmail。代码如下
/// <summary>
/// 发送邮件,成功返回True,失败返回
/// </summary>
/// <param name="toEmail">接收的邮箱</param>
/// <param name="title">邮件主题</param>
/// <param name="content">邮件内容</param>
/// <returns></returns>
public static bool SendEmail(string toEmail, string title, string content)
{
try
{
var Model = ConfigHelper.GetEmailConfig();
System.Net.Mail.MailMessage _Mail = new System.Net.Mail.MailMessage();
SmtpClient client = new SmtpClient(Model.SMTP, Model.Port.ToInt());
// ssl
client.EnableSsl = true; // SSL安全连接一定要注意设为 true
client.UseDefaultCredentials = false;//必须在client.Credentials=XXX前面
// 你的邮件帐号
client.Credentials = new System.Net.NetworkCredential(Model.Email, Model.Password);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
// 发送邮件地址
_Mail.To.Add(toEmail);
// send mail from
_Mail.From = new MailAddress(Model.Email);
// send mail subject
_Mail.Subject = title;
// 是否为html格式
_Mail.IsBodyHtml = true;
// send mail content
_Mail.Body = content;
// 发送
client.Send(_Mail);
return true;
}
catch
{
return false;
}
}
1.1 必须使用ssl。即client.EnableSsl = true。
1.2 其中代码client.UseDefaultCredentials = false;必须要在client.Credentials = new System.Net.NetworkCredential(Model.Email, Model.Password);这句代码前面。
1.3 Gmail会阻止应用程序访问邮箱服务,发邮件的时候Gmail会发邮件给你,然后去设置下(https://www.google.com/settings/security/lesssecureapps)开启“允许安全性较低的应用”。
1.4 应用程序位置。服务器上打开浏览器并登录到Gmail。这使得Gmail了解到服务器及其IP地址属于您,它将允许您通过您的应用程序发送电子邮件。
以上是关于Gmail发邮件的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf [gmail SMTP info]用于配置外发电子邮件的smtp信息#gmail #smtp #notifications
Imaplib从带有附件的gmail转发邮件(Python)