2013-10-19 33 views
1

我想通過Gmail發送郵件。當我在本地主機上測試時,我正在成功發送郵件,但是當我在線上傳時,這不起作用。以下是我用來發送電子郵件的代碼。請幫忙嗎?通過C#發送郵件與Gmail不工作在線

MailMessage mm = new MailMessage(); 
      mm.From = new MailAddress("[email protected]"); 
      mm.Subject = "Test"; 
      mm.To.Add(new MailAddress(email)); 
      mm.Body = "Test"; 
      mm.IsBodyHtml = true; 
      SmtpClient client = new SmtpClient("smtp.gmail.com", 587); 
      client.EnableSsl = true; 
      client.UseDefaultCredentials = true; 
      client.DeliveryMethod = SmtpDeliveryMethod.Network; 
      client.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 
      client.Send(mm); 
+1

在線上傳您的文件嗎?可能是防火牆阻止了特定的端口。 (587) – Jethro

+1

難道就沒有任何日誌,你可以從服務器獲取的?像安全日誌。 – navit

+0

不起作用不是一個好的錯誤描述。看看它所包含的錯誤是什麼問題。猜測可能是smtp服務根本沒有運行。 – Ralf

回答

0

你的問題看起來像它可能受到類似的StackOverflow問題需要回答:

Sending email in .NET through Gmail

讓我知道,如果不回答你所有的問題。

+0

沒有還沒有使用這個答案的代碼之後的工作:/工作在本地主機,但不能上網 –

0

在上面你當前的代碼,你先設置:

client.UseDefaultCredentials = true 

告訴使用默認憑據的框架,然後你去定義您的自定義憑據:

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

哪它在嘗試發送郵件時不會使用,因爲您已經告訴它使用上面兩行的默認憑據。嘗試設置

client.UseDefaultCredentials = false 
+0

您可能想詳細說明這個代碼如何回答這個問題。因爲它是現在,它已被自動標記爲低質量。 –