我为客户端创建了一个简单的asp.net电子邮件表单,它使用SmtpClient类发送电子邮件。它非常基础,适用于大多数情况。
该表单在许多网站中使用,但它只是间歇性地工作。代码总是有效并且不会抛出任何异常,它只是正常工作但间歇性地工作,对于某些客户端,电子邮件永远不会到达To地址。如果更改了外部电子邮件(例如我的个人Hotmail帐户),它可以正常工作。
我们已要求收件人检查他们的垃圾邮件收件箱,但无济于事。如何才能跟踪这个问题?我怎么知道我的客户asp.net服务器已经发送了电子邮件(在这种情况下问题是在收件人端)或不是?
答案 0 :(得分:0)
查看您在Hotmail帐户中收到的电子邮件中的标题,并查看From:
和Reply-To:
字段的设置。
然后查看您的源代码,与您要求设置的内容进行比较。
您可能会收到来自SMTP服务器(您或其他人到达目的地的路径)的退回邮件,并且可能会将其发送到电子邮件的发件人:地址。
检查您是否拥有处理异常的代码,使用不正确的详细信息进行测试并查看StatusCode
返回的内容。
答案 1 :(得分:0)
您是否可以控制SMTP服务器,因此您可以访问其日志并查看其中的内容?
如果没有,您可以设置一个可以控制的SMTP服务器,它只是将电子邮件传递给真实服务器,但会记录。
您是否将发件人地址设置为有效的内容,以便查看是否有任何失败邮件回来?
没有答案,我很害怕,但也许问题会给你一些可能有帮助的想法。
答案 2 :(得分:0)
如果您的客户端使用Exchange服务器,则可以使用邮件跟踪查看邮件发生的情况。如果他们使用内置的IIS SMTP服务器,您可以启用日志记录以查看正在发生的情况。与上面提到的第一篇文章一样,检查邮件标题并确保它们有效...
答案 3 :(得分:0)
您是否可以访问属于From:地址的邮箱。任何送货错误都将发送到该地址。
如果发件人地址不存在,那么这可能是邮件未送达的原因。某些邮件服务器检查是否存在来自地址,以阻止某些垃圾邮件。