0

当我在 web.config 文件中指定用户名和密码时,我已成功设置运行状况监控,以将 ASP.NET 网页上的错误记录到 Windows 事件日志、SQL Server 数据库以及通过电子邮件 (Microsoft Exchange) 。但是,如果我从指定用户名和密码更改为defaultCredentials="true"在 web.config 中指定用户名和密码,当它尝试生成电子邮件时,我会在我的 Windows 事件日志中收到以下错误消息:

System.Web.HttpException (0x80004005): Unable to send out an e-mail to the SMTP
server. Please ensure that the server specified in the <smtpMail> section is
valid. ---> System.Net.Mail.SmtpException: Mailbox unavailable. The server
response was: 5.7.1 Client does not have permissions to send as this sender

我在公司域上运行 Windows Vista。我的 Windows 登录名与我的 Microsoft Exchange 登录名相同。谁能提供一些关于为什么在 web.config 文件中明确指定我的登录凭据有效但使用defaultCredentials="true"无效的见解?是否有任何已知的解决方案,以便我可以通过 healthMonitoring 自动发送电子邮件,而无需将我的用户名和密码存储在 web.config 文件中?

4

1 回答 1

1

由于我为这个问题赢得了风滚草徽章,我怀疑答案对其他人是否有价值;但是知道以后我将不可避免地陷入同样的​​陷阱,我想我会发布我自己问题的答案......

在同一个域内发送邮件不需要认证;因此,我没有指定defaultCredentials="true",而是删除了与身份验证相关的所有字段,并且电子邮件再次开始工作。

请注意,这只是部分解决方案。我现在只需要将电子邮件发送到同一域内的地址。如果没有身份验证,在此域之外发送电子邮件将无法工作,因此如果/当需要时,它将回到绘图板......

于 2013-02-19T04:42:17.660 回答