I have an error message getting returned to me from a website which would appear to be something wrong with the Server side. However, this server works for all other sites on the box. Is there a possibility that I (Developer) am doing something wrong? I have no idea where to to start to track this down on the server and my sysadmin says everything appears normal:
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>
Server is 2003, 64-bit and running Exchange 2003
Site is Asp.Net C#, using URL Routing
Where would I start to troubleshoot this?
UPDATE
As it turns out, my system administrator traced the problem down to a layer of Spam protection. Turns out MIMESweeper may be throwing the message away, as it sees the message from our web server farm trying to send an email out with an internal address. We tested external addresses (gmail, hotmail, etc) and it worked Fine.
Thanks for all the answers. As it turns out, the best answer was "Talk to your System Admin" from my perspective... but I thought I'd update the question for anyone out there with something similar.
That's the server saying that whoever you specified as the "RCPT TO:" is not valid.
I'd recommend that you use something like Wireshark to capture the SMTP conversation between your code and the server and verify that you're sending what you expect to be, for starts. It's always nice to see what's happening on the wire and see if it jibes with what your code says should be happening.
If you are specifying the correct recipient, contact the server administrator and have them check it out.
Sure, this could be the developer's fault. For instance, the spec says that the RCPT should look like this:
However, it's very common practice to actually send this:
Most fully-featured, mature MTAs accept the latter even though it's not strictly correct. Some apps (like mail firewalls, CRM mail-catchers, etc) will be strict about it and return an error.
I'm not saying that's the cause in this case, but it's an example of how your code could work with most servers, but still be your fault if it breaks on a small percentage of servers.
I second Evan's recommendation to sniff the traffic and understand what's actually being sent.
Can you send email to the email address concerned using conventional weapons, so to speak? If so, it's probably your code. If not, it's their server (or possibly a firewall that tries to smarthost for their server).
In case you were wondering this is the serverfault site. If your sysadmin said its the code- it's the code. Errors are always the developers fault. If you want to blame the sysadmin I hear there is a site called stackoverflow that might be more sympathetic :)
In all seriousness, yes it's the code. According to the error the recipent is invalid. Somehow the webserver is trying to send mail to an account called "Customer Service Account" all email addresses are in the format of [email protected]. THe fact that you got a 550 error shows that you connected properly to the destination mailserver but there is no user called "Customer Service Account"
Technically 550 means unable to relay, but I am guessing that you are trying to send to an internal mailbox. Even if you are trying to relay, this recipient is not formatted properly.