Cod*_*sey 6 c# asp.net email gmail
我正在使用asp.net Web表单应用程序,我正在尝试以编程方式向自己发送电子邮件.我正在使用Gmail的SMTP客户端,一切都很顺利,但是当我发送邮件时,我收到此错误...
"System.Net.Mail.SmtpException:SMTP服务器需要安全连接或客户端未经过身份验证.服务器响应是:5.5.1需要身份验证.了解更多信息"
如果我进入我的Gmail帐户设置并启用允许我访问"安全性较低的应用程序"的选项,一切正常.我想知道如何在启用此选项的情况下发送电子邮件.
protected void sendEmail(object sender, EventArgs e)
{
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new System.Net.NetworkCredential("myusername@gmail.com", "mypassword"),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true
};
MailAddress from = new MailAddress("myusername@gmail.com", "Torchedmuffinz");
MailAddress to = new MailAddress("myusername@gmail.com", "Torchedmuffinz");
MailMessage message = new MailMessage(from, to);
message.Subject = "test";
message.Body = "test";
Attachment attachFile = new Attachment(@"pathtofile");
message.Attachments.Add(attachFile);
try { client.Send(message); }
catch (Exception email_exception)
{
System.Diagnostics.Debug.WriteLine(email_exception);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
Gmail 端口 587 不支持 SSL。
我认为以下代码应该适合您。
MailMessage msg = new MailMessage();
msg.From=new MailAddress("yourmail@gmail.com");
msg.To.Add("receiver@receiverdomain.com");
msg.Subject="Your Subject";
msg.Body="Message content is going to be here";
msg.IsBodyHtml=false; //if you are going to send an html content, you have to make this true
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.Port=587;
NetworkCredential credential=new NetworkCredential("yourmail@gmail.com","your gmail password");
client.UseDefaultCredentials=false;
client.Credentials=credential;
client.Send(msg);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |