这个SMTP错误是开发者的错误吗?

我有一个错误信息从网站返回给我,这似乎是服务器端的错误。 但是,此服务器适用于盒子上的所有其他网站。 有没有可能我(开发人员)做错了什么? 我不知道该从哪里开始在服务器上进行跟踪,我的系统pipe理员(sysadmin)表示一切正常:

The following recipient(s) cannot be reached: Customer Service Account on 6/3/2009 11:00 AM There was a SMTP communication problem with the recipient's email server. Please contact your system administrator. <fgdc.myservername.net #5.5.0 smtp;550 Requested action not taken: mailbox unavailable> 

服务器是2003,64位并运行Exchange 2003

网站是Asp.Net C#,使用URL路由

我会在哪里开始排除故障?


UPDATE

事实certificate,我的系统pipe理员将问题追溯到一层垃圾邮件保护。 原来,MIMESweeper可能会抛出信息,因为它看到来自我们的Web服务器场尝试发送电子邮件与内部地址的消息。 我们testing了外部地址(Gmail,Hotmail等),它工作得很好。

感谢所有的答案。 事实certificate,从我的angular度来看,最好的答案是“与您的系统pipe理员交谈”…但是我想我会用类似的方式更新任何人的问题。

这是服务器说,你指定为“RCPT TO:”的人是无效的。

我build议你使用类似Wireshark的东西来捕获你的代码和服务器之间的SMTP对话,并确认你发送了你期望的东西,开始。 看看networking上发生的事情总是令人高兴的,看看它是否代表你的代码应该发生的事情。

如果您指定正确的收件人,请联系服务器pipe理员并让他们检查出来。

当然,这可能是开发者的错。 例如,规范说RCPT应该是这样的:

 RCPT TO:<[email protected]> 

然而,实际发送这个是非常普遍的做法:

 RCPT TO: [email protected] 

即使不完全正确,大多数function齐全,成熟的MTA仍然接受后者。 某些应用程序(如邮件防火墙,CRM邮件捕获器等)将严格执行并返回错误。

在这种情况下,我并不是说这是原因,但是这是您的代码如何与大多数服务器一起工作的一个例子,但是如果在一小部分服务器上发生故障,仍然是您的错。

我第二次Evan的build议,嗅探stream量,并了解实际发送的是什么。

你能用传统的武器把电子邮件发送到有关的电子邮件地址吗? 如果是这样,那可能是你的代码。 如果没有,那就是他们的服务器(或者可能是一个试图为他们的服务器使用智能主机的防火墙)。

如果你想知道这是serverfault网站。 如果你的系统pipe理员说它的代码 – 它是代码。 错误总是开发者的错。 如果你想责怪系统pipe理员,我听到有一个名为stackoverflow的网站可能更加同情:)

严肃地说,是的,这是代码。 根据错误,配方是无效的。 不知何故,networking服务器试图发送邮件到一个名为“客户服务帐户”的帐户,所有的电子邮件地址格式为[email protected]。 事实上,你有一个550错误显示你正确连接到目标邮件服务器,但没有用户称为“客户服务帐户”

从技术上讲550意味着无法中继,但我猜你正在尝试发送到内部邮箱。 即使您尝试中继,此收件人格式不正确。