2013-12-09 215 views
0

我正在使用Razor通過SMTP發送電子郵件。我正在使用相同的代碼在不同的站點上執行此操作,但是我在這一個上遇到了錯誤。我更改了Web.config SMTP設置。我不確定我可能會做錯什麼。電子郵件問題「發送郵件失敗」

@helper SendContactEmail(ContactFormModel formModel) 
{ 
MailMessage mm = new MailMessage("[email protected]",   "[email protected]"); 
mm.Subject = "New mail from J&M Services Contact Form"; 
//mm.Body = string.Format("Name: {0}\nEmail: {1}\n\nMessage: {2}", formModel.Name, formModel.Email, formModel.Comment); 
mm.Body = "testing body"; 
mm.IsBodyHtml = false; 

SmtpClient client = new SmtpClient(); 
client.DeliveryMethod = SmtpDeliveryMethod.Network; 
try 
{ 
    client.Send(mm); 
} 
catch (Exception ex) 
{ 
    <h2>@ex.Message</h2> 
    <p>@ex.StackTrace</p> 
} 
} 

我得到的錯誤是 「發送郵件失敗」 和堆棧跟蹤是 「在System.Net.Mail.SmtpClient.Send(消息MAILMESSAGE)在 ASP._Page_macroScripts_Contact_cshtml.b__16(的TextWriter __razor_helper_writer)in c:\ Dev \ SVN \ Main \ UmbracoApps \ umbJMServices \ umbJMServices \ macroScripts \ Contact.cshtml:line 262「。

262行是client.Send(mm);

我正在一個的InnerException:

System.IO.IOException:無法從傳輸 連接讀取數據:net_io_connectionclosed。在在 系統 System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(字節[]緩衝液, 的Int32偏移的Int32讀,布爾的readLine)在 System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader 呼叫者,布爾ONELINE)。 Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader 呼叫者)在System.Net.Mail.SmtpConnection.GetConnection(的ServicePoint 的ServicePoint)在 System.Net.Mail.SmtpTransport.GetConnection(的ServicePoint的ServicePoint) 在System.Net.Mail。 SmtpClient.GetConnection()at System.Net.Mail.SmtpClient.Send(MailMessage message)

+0

這通常意味着您的SMTP服務器存在問題。是否有InnerException? – SLaks

+1

你有沒有在你的web.config中定義的SMTP服務器? –

+0

我加了我的InnerException到問題。 @SLaks – Eric

回答

1

我的公司內部存在這個問題,因爲防火牆拒絕了郵件。檢查系統管理員是否有防火牆。

+0

這是問題所在。感謝您的幫助@RoXaS! – Eric