2014-02-09 34 views
1

我嘗試下面的代碼通過ASP.Net 2.0發送電子郵件:ASP.Net電子郵件與Gmail不通過端口發送工作587

int port=465; 
    //int port=587; 
    SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", port); 
    smtpClient.Timeout = 260000; 
    smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", password); 
    smtpClient.UseDefaultCredentials =false; 
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtpClient.EnableSsl = true; 

    MailMessage mail = new MailMessage(); 
    //Setting From , To and CC 
    mail.From = new MailAddress(from); 
    mail.To.Add(new MailAddress("[email protected]")); 
    mail.Body = contents; 
    smtpClient.Send(mail); 

我檢查瞭解決方案,並有所使用的2個端口:465 587號港口似乎在2 - 3年前運作。

我都嘗試,這裏的結果:

  • 端口465,以4分超時:出在我的本地和來自ISP不同的服務器
  • 端口587上始終次,以4分超時我立即獲得無論是在本地主機和ISP站點的回覆:

SMTP服務器要求安全連接或客戶端未 認證。服務器響應是:5.5.1需要身份驗證

我應該更改哪些內容?

回答

1

使用端口587和第一設置UseDefaultCredentials,然後設置Credentials

smtpClient.UseDefaultCredentials =false; 

smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", password); 

如果第一組證書,你會當你設置UseDefaultCredentials爲假

+0

失去了它和它的作品:)謝謝爲解釋。 – Nestor

+0

奇怪的是,在我的ISP網站上它仍然顯示5.5.1錯誤。 – Nestor

+0

Google發送了一封電子郵件,表明ISP網站試圖使用我的帳戶,並且他們阻止了它。我應該添加它作爲一個可靠的客戶端。 – Nestor

相關問題