0
我做了一个简单的程序来发送电子邮件,但它没有发送它们,并给我一个例外。SMTP电子邮件不发送
下面的代码:
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("[email protected]","mypassword");
client.Send("[email protected]","[email protected]","Test","Test");
}
}
注:只需添加以下代码行:
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
,改变了端口587,然后它说,认证是必需的,我遗憾地把我的凭据,可能是因为端口587需要TLS而不是SSL(从我今天学到的关于这个的搜索,我知道SSL是TLS的“演变”,不是吗?)
它给出了什么例外? **包含内部异常**,这可能是一条重要线索。 – hatchet
检查这个谷歌链接https://myaccount.google.com/security?pli=1并仔细看看最后一点 –
这只是一个测试,我让另一个应用程序更复杂一点,但唯一的区别是它使用变量并具有图形界面。无论如何,它给了我这个例外:在System.dll中发生未处理的类型'System.Net.Mail.SmtpException'异常。 附加信息:已达到时间限制。 (我翻译这最后一行,因为它是葡萄牙语)。 – ItsaMeTuni