2011-04-08 323 views
3

可能重複:
Sending email in .NET through Gmail發送電子郵件與Gmail SMTP和System.Net.Mail

我嘗試發送電子郵件與Gmail SMTP和System.Net.Mail爲如下:

 Dim objSMTPClient As New System.Net.Mail.SmtpClient("smtp.gmail.com", 465) 'also tried 587 
     objSMTPClient.EnableSsl = True 
     objSMTPClient.UseDefaultCredentials = False 
     objSMTPClient.Credentials = New System.Net.NetworkCredential("[email protected]", "password") 
     objSMTPClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network 
     objSMTPClient.Send(objMailMessage) 

但是,當我嘗試使用端口465時,出現異常「操作超時」。 當我嘗試使用端口587時,出現異常情況:「SMTP服務器需要安全連接或客戶端未通過身份驗證。服務器響應爲:5.5.1需要身份驗證。」

任何想法爲什麼?

在此先感謝。

更新:這個問題似乎已經解決了今晚。我不知道改變了什麼。也許在谷歌方面。無論如何,代碼正在運行;我很想知道什麼是錯的,所以我可以確保它不會再發生,也可以幫助社區,但我無法進入非工作狀態,因此我可以嘗試並測試它。

ALSO:我主張與我的問題標記爲另一個線程的副本的版主不同 - 該線程只是簡單地詢問如何通過Gmail發送郵件。我讀了這個帖子,並且正在做它所說的所有事情,但它並不適合我,所以我發佈了錯誤消息並詢問出了什麼問題。

我想指出的讀者this other thread 這實際上更接近於我的重複,而我不能早發現,並有許多可行的建議,這有可能幫助,但問題是現在沒有了所以我無法測試它。謝謝大家!

+0

也許經由SMTP訪問被暫時封鎖由於可疑活動。請參閱http://stackoverflow.com/questions/1607828/how-to-use-gmail-as-a-free-smtp-server-and-overcome-captcha – Greg 2011-04-10 05:19:09

回答

0

很可能,您的憑據不正確。請注意,您必須使用有效的活躍Gmail帳戶,所以這將是形式:在您的Gmail

objSMTPClient.Credentials = New System.Net.NetworkCredential("<your_user_name>@gmail.com", "<your_gmail_password>"); 
+0

憑證是正確的;我剛剛登錄了他們。 – Fred 2011-04-08 06:14:01

+0

我應該說,這不是普通的Gmail帳戶,而是一個Google Apps帳戶。當我使用我的普通Gmail帳戶試用我的代碼時,它*起作用*;只有Google Apps帳戶沒有。 – Fred 2011-04-08 06:16:13

+0

@Fred,在這種情況下不應該成爲問題 - 請參閱http://mail.google.com/support/bin/answer.py?answer=78799。爲什麼不嘗試在一些郵件客戶端(如outlook)中使用相同的設置來配置帳戶。 – VinayC 2011-04-08 07:54:48

0

最可能的是,你還沒有啓用彈出功能帳戶。如果您想使用Gmail的SMTP功能,然後這個選項應該被啓用。

enter image description here

+0

謝謝,但POP已啓用。可能是什麼問題呢? – Fred 2011-04-08 06:13:38

+0

我應該補充說這不是普通的Gmail帳戶,而是一個Google Apps帳戶。當我使用我的普通Gmail帳戶試用我的代碼時,它*起作用*;只有Google Apps帳戶沒有。 – Fred 2011-04-08 06:14:49