2013-12-21 217 views
-1

以下是我用smtp服務器發送電子郵件的編碼。但它會拋出smtpexception作爲發送失敗。發送電子郵件不適用於我的smtp服務器

我正在使用Windows Web服務器爲我的網站。

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     MailMessage Msg = new MailMessage(); 
     // Sender e-mail address. 
     Msg.From = new MailAddress(txtEmail.Text); 
     // Recipient e-mail address. 
     Msg.To.Add("[email protected]"); 
     Msg.Subject = txtSubject.Text; 
     Msg.Body = txtMessage.Text; 
     Msg.IsBodyHtml = true; 
     // your remote SMTP server IP. 
     SmtpClient smtp = new SmtpClient(); 
     smtp.Host = "mail.dhuvara.com"; 
     smtp.Port = 25; 
     Msg.Priority = MailPriority.Normal; 
     smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "SolaiMail"); 
     smtp.EnableSsl = true; 
     smtp.Send(Msg); 
     //Msg = null; 
     lbltxt.Text = "Thanks for Contact us"; 
     // Clear the textbox valuess 
     txtName.Text = ""; 
     txtSubject.Text = ""; 
     txtMessage.Text = ""; 
     txtEmail.Text = ""; 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine("{0} Exception caught.", ex); 
    } 

} 
+1

異常包含超過類名稱。什麼是*消息*? –

+0

你可以粘貼異常消息嗎? –

+0

「發送郵件失敗。」這是我的代碼中的異常消息。 – baskaran

回答

1

您需要添加smtp.UseDefaultCredentials = false;

它需要在您設置憑據之前。

+0

添加上述詳細信息後發生同樣的錯誤。 – baskaran

+0

我們來看看整個例外。請使用ex.ToString(),而不是在消息中使用ex。這將轉儲堆棧和所有細節。 –

0

嘗試設置EnableSSL = false;

這可能是問題 - 我以前遇到過這個問題。

+0

我試過這也是。但仍然發生相同的錯誤。請看我的代碼。 – baskaran

+0

發佈您的文本框的值。用所有txt的值替換它們的值。 – Jackson

0

我懷疑mail.dhuvara.com是連接到的正確主機。 該主機的DNS查詢告訴我,它是go.domains.live.com的CNAME,go.domains.live.com是domains.live.com的CNAME,因此我假設您使用的是Windows Live託管您的域名。也許你應該嘗試使用smtp.live.com作爲郵件服務器。

相關問題