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