好的,所以我有这个代码,当有人注册我的网站时发送电子邮件。电子邮件可以很好地发送到Gmail帐户或我的工作帐户,但不会显示在我的Hotmail帐户或Outlook帐户中。我联系了运行我正在使用的SMTP服务器的人,他们说他们的日志显示电子邮件发送没有问题。我甚至让一个伙伴使用我的确切代码创建一个测试应用程序,他的电子邮件发送并显示就好了。有没有人猜测为什么电子邮件可以用于Gmail,但也许没有出现在hotmail中,即使我们的服务器显示它们已成功发送?
我看了一遍,似乎无法找到解决方案,甚至是有同样问题的人。
编辑:我已经检查了垃圾邮件/垃圾邮件文件夹。他们也没有出现在那里。
答案 0 :(得分:3)
即使作为一名顾问在过去22年中为客户解决这个问题,我也不能轻易解决您的问题,但也许我可以指出您正确的方向。
邮件从客户端到达目的地的方式是一长串邮件服务器。如果查看邮件标题,就可以看到服务器链。
这些服务器中的每一个都将具有过滤消息的规则。这些可以基于许多不同的东西(客户端IP,发送服务器IP,发件人域,黑名单等)
我怀疑正在发生的事情是:
那么,我们能做些什么呢?还有几个测试:
尝试在MailMessage对象上填写更多字段。一些垃圾邮件扫描程序对空字段很挑剔。特别是填写ReplyToList(只需使用与From相同)。确保所有字段都不为空/空(检入调试器)。
我假设您目前正从开发机器发送?如果是这样,请尝试为其获取不同的IP地址。如果是笔记本电脑,这很容易。从有线切换到无线,反之亦然。在紧要关头,您可以借用某人的USB->以太网适配器。这将更改标头中的源IP地址并更改邮件的扫描方式。
从您的代码发送的同一台计算机上的普通邮件客户端向Hotmail发送邮件。确保使用相同的传出服务器/用户名/密码。如果它被传递,请查看标题以查看您可以找到的内容。将其与gmail收到的邮件标题进行比较。如果它没有,至少你可以肯定地排除你的代码。
尝试从Hotmail向您的服务器发送邮件。路径可能不完全相同,但同样,标题可能为您提供线索。
如果您有权访问发送邮件服务器日志,那么也可能有线索。
如果您感到绝望,请使用其他外发邮件服务器。