我已成功设置运行状况监控,以便将我的ASP.NET网页上的日志错误记录到Windows事件日志,SQL Server数据库,并通过电子邮件(Microsoft Exchange)设置用户名和密码web.config文件。但是,如果我在web.config中将用户名和密码更改为defaultCredentials="true"
,我在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文件中?
答案 0 :(得分:1)
由于我为这个问题赢得了风滚草徽章,我怀疑答案对其他人来说是非常有价值的。但是我知道我以后会不可避免地陷入同样的陷阱,我想我会回答自己的问题......
在同一域内发送电子邮件不需要身份验证;所以我没有指定defaultCredentials="true"
,而是删除了与身份验证相关的所有字段,并且电子邮件又开始工作了。
请注意,这只是部分解决方案。我现在只需要向同一域内的地址发送电子邮件。如果没有身份验证,在此域外发送电子邮件将无法正常工作,因此如果/何时需要,它将返回绘图板...