【发布时间】:2015-06-15 23:08:19
【问题描述】:
我做了一个简单的程序来发送电子邮件,但它发送失败并给了我一个异常。
代码如下:
using System.Net;
using System.Net.Mail;
public class test{
public static void Main()
{
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 465;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("myemail@gmail.com","mypassword");
client.Send("myemail@gmail.com","myemail@gmail.com","Test","Test");
}
}
注意:刚刚添加了以下代码行:
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
并将端口更改为 587,然后它说需要身份验证,我已经输入了我的凭据,可能是因为端口 587 需要 TLS 而不是 SSL(从我今天了解到的搜索中,我知道 SSL 是TLS 的“进化”,不是吗?)
【问题讨论】:
-
它给出了什么异常? 包括内部异常,这可能是一个重要线索。
-
查看这个 google 链接 myaccount.google.com/security?pli=1 并仔细查看最后一点
-
这只是一个测试,我使另一个应用程序更复杂一点,但唯一的区别是它使用变量并具有图形界面。无论如何,它给了我这个异常: System.dll 中发生了“System.Net.Mail.SmtpException”类型的未处理异常附加信息:已达到时间限制。 (我翻译了最后一行,因为它是葡萄牙语)。
-
我的回答有用吗?
标签: c# email smtp gmail smtpclient