电子邮件 – 邮箱不可用,客户端没有权限作为此发件人发送 – 仅
我们的用户只需点击一下按钮就可以从我们的ASP.NET Web应用程序发送电子邮件.在我们的测试环境中,发生了一件奇怪的事情.
应用程序第一次尝试发送电子邮件时,我们会收到异常: 信箱不可用.服务器响应为:5.7.1客户端无权作为此发件人发送 有趣的是,当用户再次点击该按钮时(因此应用程序尝试再次发送电子邮件),它可以工作,并发送电子邮件. 如果您等待一段时间,您将再次收到错误,但第二次点击将发送电子邮件没有问题.如果您足够快,可以发送新电子邮件,那就可以了. 这是我们使用的(简化)代码: Dim smtpClient As New SmtpClient(<smtp mail server goes here>) smtpClient.UseDefaultCredentials = True mailMessage.From = New MailAddress(<from address>) smtpClient.Send(mailMessage) 但这确实适用于生产环境.我们使用的是Microsoft Exchange,我们的客户(生产环境)也是如此. 有没有人有类似的东西(第一次出错,第二次像魅力一样)? 解决方法
我之前已经看过几次,这是我见过的原因.请记住,这些只能在大型环境中看到.如果您在单个直流,单一交换服务器环境中,则这些将不适用.
首先,这里是MS文章:http://support.microsoft.com/kb/895853.在可能的情况下,你可以看到有很多东西在起作用. 您的一个Exchange服务器中继权限未正确设置. 这是最可能的原因.邮件可能在第一次和第二次尝试时采用不同的路由,而这可能听起来对两条消息进行愚蠢的邮件跟踪,看看它们是否通过同一台服务器.如果你看到不同的路径检查坏的路径上的设置,可能是一个简单的允许中继用于经过身份验证的用户未检查. AD权限是错误的 您必须具有来自电子邮件中发件人地址的帐户的“代理发送”权限.如果它有时工作,而不是其他工作,那么它可能是邮件路由的不同路径,它们之间具有不同的权限. 身份验证无法正常运行. 在脚本的第一个实例中,可能是身份验证失败,在这种情况下,由于您没有权限,邮件被拒绝.在脚本的第二次运行中,身份验证成功.不幸的是,我不太了解ASP,无法理解上面的代码或建议如何解决它. smtpClient.UseDefaultCredentials可能不是您环境的正确代码.这仅在服务器请求时进行身份验证,并将使用本地登录用户的凭据.如果服务器第一次没有要求身份验证,那么您将不会被授权,也可能没有发送权限.尝试将其更改为始终进行身份验证的代码. 您的某个DC或全局目录已过期或信息不完整. 这种情况很少见,但您的域控制器可能存在不同步信息.通过ldap或adsi编辑仔细检查来自和来自帐户的服务器信息,并确保它们在所有dcs中是相同的. 在所有实例中,检查Exchange服务器上的日志,并确保启用所有字段的SMTP日志记录.使用邮件跟踪可以准确查看此邮件所针对的服务器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 必需属性“pageBaseType”未找到 – 启动我
- asp.net-mvc – 根据请求域捆绑CSS文件?
- asp.net下拉列表的验证器
- 如何模拟我的ASP.NET应用程序的HTTP 500错误?
- asp.net – ASP.MVC CORE网站的最大上传大小
- SQL Server2005探索之—— 利用SQL Server2005提供的namesp
- asp.net-mvc-3 – 如何修复此MVC网站错误:无法加载文件或程
- asp.net – 间歇性SQL连接错误
- asp.net-mvc – 使用RedirectToAction单元测试ASP.NET MVC
- asp.net – 无法识别的配置部分