
Recibo un mensaje de error que me devuelve un sitio web que parece ser que hay algún problema con el lado del servidor. Sin embargo, este servidor funciona para todos los demás sitios del paquete. ¿Existe la posibilidad de que yo (el desarrollador) esté haciendo algo mal? No tengo idea de por dónde empezar a rastrear esto en el servidor y mi administrador de sistemas dice que todo parece 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>
El servidor es 2003, de 64 bits y ejecuta Exchange 2003.
El sitio es Asp.Net C# y utiliza enrutamiento URL
¿Por dónde empezaría a solucionar este problema?
ACTUALIZAR
Resulta que el administrador de mi sistema rastreó el problema hasta una capa de protección contra spam. Resulta que MIMESweeper puede estar desechando el mensaje, ya que ve el mensaje de nuestra granja de servidores web intentando enviar un correo electrónico con una dirección interna. Probamos direcciones externas (gmail, hotmail, etc.) y funcionó bien.
Gracias por todas las respuestas. Resulta que, desde mi perspectiva, la mejor respuesta fue "Hable con el administrador del sistema"... pero pensé en actualizar la pregunta para cualquiera con algo similar.
Respuesta1
Ese es el servidor que dice que quien haya especificado como "RCPT TO:" no es válido.
Le recomendaría que use algo como Wireshark para capturar la conversación SMTP entre su código y el servidor y verificar que está enviando lo que espera, para empezar. Siempre es bueno ver lo que sucede en el cable y ver si concuerda con lo que su código dice que debería estar sucediendo.
Si está especificando el destinatario correcto, comuníquese con el administrador del servidor y pídale que lo revise.
Respuesta2
Claro, esto podría ser culpa del desarrollador. Por ejemplo, la especificación dice que RCPT debería verse así:
RCPT TO:<[email protected]>
Sin embargo, es una práctica muy común enviar esto:
RCPT TO: [email protected]
La mayoría de los MTA maduros y con todas las funciones aceptan esto último aunque no sea estrictamente correcto. Algunas aplicaciones (como cortafuegos de correo, captadores de correo CRM, etc.) serán estrictas al respecto y devolverán un error.
No digo que esa sea la causa en este caso, pero es un ejemplo de cómo su código podría funcionar con la mayoría de los servidores, pero aún así será culpa suya si se rompe en un pequeño porcentaje de servidores.
Apoyo la recomendación de Evan de rastrear el tráfico y comprender qué se envía realmente.
Respuesta3
¿Se puede enviar un correo electrónico a la dirección de correo electrónico en cuestión utilizando armas convencionales, por así decirlo? Si es así, probablemente sea tu código. Si no, es su servidor (o posiblemente un firewall que intenta ser un host inteligente para su servidor).
Respuesta4
En caso de que se lo pregunte, este es el sitio con fallo del servidor. Si su administrador de sistemas dijo que es el código, es el código. Los errores siempre son culpa de los desarrolladores. Si quieres culpar al administrador del sistema, he oído que hay un sitio llamado stackoverflow que podría ser más comprensivo :)
Con toda seriedad, sí, es el código. Según el error el recetante no es válido. De alguna manera, el servidor web está intentando enviar correo a una cuenta llamada "Cuenta de servicio al cliente". Todas las direcciones de correo electrónico tienen el formato de[correo electrónico protegido]. El hecho de que haya recibido un error 550 muestra que se conectó correctamente al servidor de correo de destino pero no hay ningún usuario llamado "Cuenta de servicio al cliente".
Técnicamente, 550 significa que no se puede transmitir, pero supongo que estás intentando enviar a un buzón interno. Incluso si estás intentando retransmitir, este destinatario no tiene el formato adecuado.