我现在尝试的是发送电子邮件到我自己的Gmail帐户,但到目前为止,我尝试过尝试发送时出错。
我没有尝试发送到我的pop3电子邮件,而不是发送到雅虎或我的pop3或雅虎。现在我正试图发送到我的Gmail。
在按钮点击事件中:
private void button1_Click(object sender, EventArgs e)
{
sendit("myg@gmail.com");
}
然后在方法sendit
public string sendit(string ReciverMail)
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("myg@gmail.com");
msg.To.Add(ReciverMail);
msg.Subject = "Hello world! " + DateTime.Now.ToString();
msg.Body = "hi to you ... :)";
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = true;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new NetworkCredential("myg@gmail.com", "myp");
client.EnableSsl = true;
client.Timeout = 20000;
try
{
client.Send(msg);
return "Mail has been successfully sent!";
}
catch (Exception ex)
{
return "Fail Has error" + ex.Message;
}
finally
{
msg.Dispose();
}
}
使用断点总是到达catch部分显示消息:
" SMTP服务器需要安全连接,否则客户端不需要 认证。服务器响应为:5.5.1需要身份验证。 在"
了解详情
答案 0 :(得分:0)
删除client.UseDefaultCredentials = true;
然后重试!
如果设置了UseDefaultCredentials
,则客户端会尝试使用当前登录的用户发送电子邮件。如果UseDefaultCredentials
为false,那么它将使用您手动设置的凭据!
答案 1 :(得分:0)
这是一个安全问题,Gmail默认阻止您从自定义应用程序访问您的邮件帐户。您需要为安全性较低的应用程序启用访问权限。
以下是链接:Less secure applications