2013-12-21 187 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作为邮件服务器。

相关问题