当我在本地测试时,我能够将smtp消息发送到第三方smtp服务器,但是当我将此代码移植到我们的开发服务器时却没有。当我在那里尝试时,我不能说,但我认为它不会发出请求。我运行了firebug,fiddler并且没有看到我的代码发送邮件请求的请求。
除了测试主机的smtp端点我发送这个smtp请求以确保它对我们开放(它是这样),我很难找到为什么相同的代码在我的机器上工作但不是我们的Windows Server 2008 R2开发框。
答案 0 :(得分:0)
您是通过代码发送邮件直接发送到第三方smtp服务器还是通过2008机顶盒上的本地SMTP服务器路由?
如果您没有在2008年的方框中通过(比方说)IIS中的SMTP服务进行路由,您可以尝试这样做,配置您的应用程序以使用本地服务,并在代码中设置以下内容以将邮件拖放到文件夹结构中在IIS下允许SMTP服务负责电子邮件的传递
smtpclient.deliverymethod = smtpdeliverymethod.pickupdirectoryfromiis
然后,您可以配置本地smtp服务器的日志记录,并检查本地和远程服务器之间的对话以确定问题。您还可以看到用于排队邮件的文件夹以及其中的实际电子邮件信封(如果您很快)
您是否使用telnet从2008框中检查了与远程smtp服务器的连接,以打开与它的对话以消除任何防火墙问题?
如果电子邮件仍未通过第三方SMTP服务器,则可能是导致问题的可传递性问题。您的服务器IP地址是否允许为其发送电子邮件,如果不是,您可能需要针对您的DEV框的IP地址在域上发布SPF记录。