2010-04-16 36 views
3

嘿傢伙,我想我得到了另一個asp.net問題我試圖通過谷歌發送電子郵件使用smtp認證,但我不斷得到超時錯誤和不知道它可能是從下面的代碼它不是我的防火牆或我的ISP阻止SMTP端口,因此它最有可能的代碼:使用System.Net.Mail通過谷歌發送smtp郵件讓我超時例外

 MailMessage msg = new MailMessage(); 

    String BodyMsg; 

    BodyMsg = "Hey " + TxtBoxUsername.Text + "@" + "Welcome to Tiamo your username and password are:@Username: " 
     + TxtBoxUsername.Text + "@Password: " + PasswordString + "@You have succesffully registered, you can now login." 
     + "@Thank [email protected] Team"; 

    BodyMsg = BodyMsg.Replace("@", System.Environment.NewLine); 

    msg.To.Add(new MailAddress(TxtBoxEmail.Text)); 
    msg.From = new MailAddress("[email protected]"); 
    msg.Subject = "Re: Welcome to Tiamo"; 
    msg.Body = BodyMsg; 

    SmtpClient client = new SmtpClient() ; 
    client.EnableSsl = true;         
    client.Send(msg); 

,這是我的web.config電子郵件SMTP設置:

<system.net> 
<mailSettings> 
    <smtp from="[email protected]"> 
    <network host="smtp.gmail.com" port="465" userName="[email protected]" password="MyLovelyPassword" defaultCredentials="true"/> 
    </smtp> 
</mailSettings> 

我完全疲憊,所以我認爲最好的事情是彈出一個問題,希望你能幫助它將會非常感激......謝謝anicho。

回答

3

我affraid谷歌使用其他端口 - > 587或者至少這是他們告訴什麼對他們configure-gmail-access-in-outlook-help-website

+0

是的,這工作得到一個:SMTP服務器需要一個安全的連接或客戶端未經過身份驗證。任何想法我的谷歌憑據deffo正確 – Anicho 2010-04-16 10:57:52

+0

http://stackoverflow.com/questions/704636/sending-email-through-gmail-smtp-server-with-c它的酷它固定它 – Anicho 2010-04-16 11:07:56

+0

是你的加密類型TLS? – Gambrinus 2010-04-16 11:08:19

1

對我來說,這是下面的代碼行的順序:

client.UseDefaultCredentials = false; 

client.Credentials = new NetworkCredential("[email protected]", "mypasswordforemail"); 

由於它可能看起來合乎邏輯,UseDefaultCredentials = false;應該先走。

問候。