当我将网站发布到 Windows Azure 时,ELMAH 不发送电子邮件并引发以下错误。 任何帮助或想法表示赞赏。谢谢!
注意:
我已正确设置 elmah,以便通过 hostmysite.com 上的 smtp 发送电子邮件,该网站在 Azure 外部进行 IIS/.NET 托管。 我家里还有一台运行良好的临时服务器。 另外,我尝试过端口25,50,587。 另外,我尝试发送到我付费的列表服务器以及 SendGrid。 在每种情况下,它都可以在我的临时和开发服务器上运行,但不能在 Azure 中运行。
ELMAH 正在捕获数据库中的错误(Azure 中的 MS SQL 和 IIS)。
这是我的配置设置:
System.Net.NetworkInformation.NetworkInformationExceptionAccess is denied
System.Net.NetworkInformation.NetworkInformationException (0x80004005): Access is denied
at System.Net.NetworkInformation.SystemIPGlobalProperties.GetFixedInfo()
at System.Net.NetworkInformation.SystemIPGlobalProperties.get_FixedInfo()
at System.Net.NetworkInformation.SystemIPGlobalProperties.get_HostName()
**at System.Net.Mail.SmtpClient.Initialize()
at System.Net.Mail.SmtpClient..ctor()
at Elmah.ErrorMailModule.SendMail(MailMessage mail)
at Elmah.ErrorMailModule.ReportError(Error error)**
at Elmah.ErrorSignalEventHandler.Invoke(Object sender, ErrorSignalEventArgs args)
at Elmah.Mvc.HandleErrorAttribute.OnException(ExceptionContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
...
</httpModules>
<modules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
...
</modules>
<elmah>
<security allowRemoteAccess="yes" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Elmah.Sql" />
**<errorMail from="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1a7f68687568695a7e75777b737434797577" rel="noreferrer noopener nofollow">[email protected]</a>" to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c386b1b1acb191a6b3acb1b783aebaa7acaea2aaadeda0acae" rel="noreferrer noopener nofollow">[email protected]</a>" subject="[Site][ErrorReport-ELMAH]" async="false" smtpPort="587" smtpServer="stmp.server.com" useSsl="false" userName="user1" password="password1" noYsod="false" />**
</elmah>
最佳答案
我遇到了类似的问题并从 Microsoft 支持部门获得了帮助。显然,在 Azure 仪表板中从 64 位切换到 32 位可以解决这个问题。 64 位,它“拒绝访问”,32 位,电子邮件通过。
好的,显然 Azure 团队修复了这个 64 位问题。 64 位和 32 位对我来说都适用。他们说他们昨天(2013/06/20)部署了修复程序。
关于azure - Elmah 不会发送有关在 Windows Azure 网站上运行的错误的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17012653/