Mensaje de error cuando intenta enviar mediante programación un mensaje de correo electrónico al servidor SMTP local mediante el método Send en Microsoft Dynamics AX 4.0: "el transporte no se pudo conectar al servidor"

Se aplica a: Microsoft Dynamics AX 4.0

Síntomas


Cuando intenta enviar mediante programación un mensaje de correo electrónico al servidor SMTP local mediante el método Send en Microsoft Dynamics AX 4.0, no se envía el mensaje de correo electrónico. Además, recibirá el siguiente mensaje de error:
Método 'enviar' en el objeto COM de clase ' CDO. Mensaje ' devolvió el código de error 0x80040213 (< desconocido >) lo que significa: el transporte no se ha podido conectar con el servidor.

Causa


Este problema puede producirse si se cumplen las condiciones siguientes:
  • El servidor SMTP local está en un equipo que está ejecutando Microsoft Windows Server 2003.
  • La dirección de protocolo Internet (IP) del servidor virtual SMTP se establece en la dirección IP del equipo local.

Solución


Para resolver este problema, cambie la dirección IP del servidor virtual SMTP para utilizar la opción Todos sin asignar y, a continuación, ejecutar el código para enviar mediante programación un mensaje de correo electrónico.

Para cambiar la dirección IP del servidor virtual SMTP, siga estos pasos:
  1. Haga clic en Inicio, seleccione Programas, herramientas Administrativas y, a continuación, haga clic en Administrador de servicios de Internet Information Server (IIS).
  2. Expanda el Microsoft Dynamics AX 4.0 server.
  3. Haga clic en Servidor Virtual SMTP predeterminadoy, a continuación, haga clic en Propiedades.
  4. En la ficha General , haga clic en (Todos sin asignar) en el cuadro dirección IP .
  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de servidor Virtual SMTP predeterminado .

Más información


Microsoft proporciona ejemplos de programación únicamente con fines ilustrativos, sin ninguna garantía expresa o implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

El código siguiente es un ejemplo de cómo enviar un mensaje de correo electrónico mediante programación utilizando el método Send en Microsoft Dynamics AX 4.0.
static void SysMailer(Args _args){
SysMailer mailer;
;

mailer = new SysMailer();
mailer.body("This is the body of the mail");
mailer.subject("The message subject");
mailer.fromAddress("
alias@domain"); mailer.tos().appendAddress("
alias@domain"); mailer.SMTPRelayServer("
domain_name_of_SMTP_Server");
mailer.sendMail();

pause;
}

Si utiliza la funcionalidad de alerta para recibir una notificación mediante mensajes emergentes o mensajes de correo electrónico, debe comprobar que la configuración es correcta en el Administrador de servicios de Internet Information Server (IIS). Para ello, siga estos pasos:
  1. En el Administrador de IIS, expanda el servidor de Microsoft Dynamics AX 4.0.
  2. Haga clic en servidor Virtual SMTP predeterminado. A continuación, haga clic en Propiedades.
  3. Haga clic en la ficha acceso .
  4. Haga clic en conexiones.
  5. Compruebe que está activada la opción "todos excepto la lista siguiente". O bien, si el "Sólo la lista siguiente" está seleccionada, compruebe que la lista no está vacía.
  6. En la ventana de conexión, haga clic en Aceptar para aceptar el cambio.
  7. Haga clic en retransmisión. A continuación, repita los pasos del 5 al 6.
  8. Compruebe que está seleccionada la opción todos excepto la lista siguiente . O bien, si el "Sólo la lista siguiente" está seleccionada, compruebe que la lista no está vacía.