2012-02-07 36 views
0

当我在本地测试时,我能够将smtp消息发送到第三方smtp服务器,但不是当我将此代码移植到我们的开发服务器时。当我在那里尝试时,我无法确定,但我认为它没有发出请求。我跑了萤火虫,小提琴手,并没有看到我的代码发送邮件请求的请求。MailMessage从测试PC发送好,但不是开发服务器

除了测试主机的smtp端点,我发送这个smtp请求以确保它对我们开放(它是),我被困在试图找出为什么相同的代码在我的机器上工作,但不是我们的机器Windows Server 2008 R2开发盒。

+0

防火墙问题? – 2012-02-07 21:01:04

+0

不是我们所知道的... – PositiveGuy 2012-02-07 21:16:08

+0

我假设我应该能够看到通过像小提琴手或其他东西发送的smtp消息?我如何知道SmtpClient.SendMail是否实际发送了请求?即使此代码在我的PC上本地运行邮件代码时仍然有效,我也看不到任何请求......我看不到如何跟踪发送的smtp消息。 – PositiveGuy 2012-02-07 22:38:09

回答

0

您是否通过代码或直接通过2008盒子上的本地SMTP服务器发送邮件到第三方smtp服务器?

如果您没有通过2008年的IIS中的SMTP服务进行路由(例如),则可以尝试此操作,将您的应用配置为使用本地服务,并在代码中设置以下内容以将邮件放入文件夹IIS下的结构允许SMTP服务采取电子邮件

smtpclient.deliverymethod交付的护理= smtpdeliverymethod.pickupdirectoryfromiis

,那么你可以配置日志本地SMTP服务器,并检查了之间的对话本地和远程服务器来识别问题。您还可以看到用于排队邮件的文件夹以及其中的实际电子邮件信封(如果您的速度很快)

您是否使用telnet检查了从2008年的盒子到远程smtp服务器的连接以打开与它进行对话以否定任何防火墙问题?

如果电子邮件仍未通过第三方SMTP服务器,可能是其导致问题的可传输性问题。您的服务器IP地址是否允许为该域发送电子邮件,如果不是的话,您可能需要针对您的DEV设备的IP地址在域中发布SPF记录。

+0

“你直接从代码发送了邮件到第三方SMTP服务器或通过本地SMTP服务器上的2008箱路由?” YES – PositiveGuy 2012-02-08 06:08:19

+0

是的,我总是通过telnet之前测试测试...和我可以连接。 – PositiveGuy 2012-02-08 06:09:01

相关问题