2017-04-21 47 views
1

我得到一些問題,發送電子郵件,當我嘗試發送電子郵件通知符與SMTP使用Gmail主機SMTP從Gmail的主機

這是我的代碼

DataTable dtEmail = objBLL.SubmitEmailPelaporan(userTest); 

string content = dtEmail.Rows[0]["MsgDetail"].ToString(); 
string subject = dtEmail.Rows[0]["Subject"].ToString(); 


MailMessage mail = new MailMessage(); 
mail.IsBodyHtml = true; 


mail.From = new MailAddress(emailSender); 
mail.To.Add(new MailAddress(emailTo)); 

mail.Subject = subject; 
mail.Body = content; 


SmtpClient SmtpServer = new SmtpClient(); 
SmtpServer.Host = "smtp.gmail.com"; 
SmtpServer.Port = 587; 
SmtpServer.UseDefaultCredentials = true; 
SmtpServer.Credentials = new System.Net.NetworkCredential(emailSender, emailPassword); 
//SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network; 
SmtpServer.EnableSsl = true; 



SmtpServer.Send(mail); 

我的錯誤是「失敗的發送電子郵件」 內部例外「無法連接遠程服務器」

我已經在谷歌搜索與我的問題,但我得到了同樣的錯誤,發送電子郵件失敗...無法連接遠程服務器。

THX的所有幫助我

+0

這可能是真的,它無法連接到服務器。你有沒有檢查你的憑證? – Luke

+0

你會仔細檢查你的NetworkCredentioal嗎?你檢查是否沒有被防火牆阻止?你有沒有看到同樣的錯誤所有其他類似的問題? – Aristos

+0

現在的錯誤是「SMTP服務器需要安全連接或客戶端未通過身份驗證,服務器響應是:5.5.1需要身份驗證。」 –

回答

0

對於錯誤:「SMTP服務器要求安全連接或客戶端未通過身份驗證服務器響應爲:5.5.1要求進行驗證,瞭解更多」,您將會收到一封電子郵件(代碼中的'emailSender'帳戶):「查看被阻止的登錄嘗試」。

打開該電子郵件並點擊'保護您的帳戶',您將被導向頁面,在那裏您可以關閉「禁止訪問安全性較低的應用程序」。 這樣做應該可以解決您的問題。

0

這種情況發生時,你嘗試從不同的時區或IP地址的電腦登錄。 使用您的憑據登錄gmail。他們會要求確認,確認並註銷。

希望它有幫助.. !!!

0

你打開了安全性較低的應用程序嗎? check here

同時檢查防病毒郵件策略