locked
Envio de correos RRS feed

  • Pregunta

  • Estimados.

    En un SQL 2012 se envian correos de manera automatica cuando el cliente realiza una cotizacion mediante la web.

    Diariamente algunos correos NO son enviados por que el correo no existe.

    Existe alguna manera de saber cuales son esas direcciones de correo que no se pudo entregar ?

    Saludos.


    DBA SQL Server Santiago/Chile

    viernes, 20 de octubre de 2017 14:16

Respuestas

  • Bien, pero ese ya no es un problema de SQL Server. Si el SQL Server consiguió enviar el correo al intercambiador de SMTP que tiene asignado (en este caso el servidor es Exchange) y el intercambiador le respondió que "correo aceptado", a partir de ahí ya no está "en las manos" de SQL Server. La conexión se cierra y no recibe ninguna información adicional sobre el progreso del envío. Si luego el intercambiador es incapaz de enviarlo, a partir de ahí es problema del intercambiador y es en los logs de éste último donde habrá que mirar si se entregó al MX de destino. El protocolo SMTP no tiene previsto ningún mecanismo para reportar el éxito del envío al cliente que lo inició (en este caso el Servidor SQL). Normalmente lo que hace el intercambiador (Exchange) es informar del error mediante un correo de respuesta a la dirección de "Reply-To" (si existe) o a la del "From" en su defecto. Pero esta respuesta no va al SQL Server, que no tiene ninguna manera de recibirla, sino al MX que corresponda al dominio de la cuenta remitente que se configuró en los envíos de correo de SQL Server.
    lunes, 23 de octubre de 2017 20:40

Todas las respuestas

  • Los "logs" de envío de mail están en la base de datos msdb. Examina las tablas sysmail_log y sysmail_mailitems. En una de las dos tendrás algún campo que te dé una indicación del resultado del envío.
    viernes, 20 de octubre de 2017 17:29
  • Hola,

           desconozco con que consulta, podrias validar, ya que tu no posses la bd de Microsoft, para saber si los correos existen o no.

    viernes, 20 de octubre de 2017 18:04
  • Estimado Alberto.

    El problema es que en sysmail_log no queda registro cuando el correo "sale" de SQL pero el exchange NO lo envía dado que la cuenta de destino NO existe y ese es mi problema :(

    Saludos Cordiales.


    DBA SQL Server Santiago/Chile

    lunes, 23 de octubre de 2017 19:52
  • Bien, pero ese ya no es un problema de SQL Server. Si el SQL Server consiguió enviar el correo al intercambiador de SMTP que tiene asignado (en este caso el servidor es Exchange) y el intercambiador le respondió que "correo aceptado", a partir de ahí ya no está "en las manos" de SQL Server. La conexión se cierra y no recibe ninguna información adicional sobre el progreso del envío. Si luego el intercambiador es incapaz de enviarlo, a partir de ahí es problema del intercambiador y es en los logs de éste último donde habrá que mirar si se entregó al MX de destino. El protocolo SMTP no tiene previsto ningún mecanismo para reportar el éxito del envío al cliente que lo inició (en este caso el Servidor SQL). Normalmente lo que hace el intercambiador (Exchange) es informar del error mediante un correo de respuesta a la dirección de "Reply-To" (si existe) o a la del "From" en su defecto. Pero esta respuesta no va al SQL Server, que no tiene ninguna manera de recibirla, sino al MX que corresponda al dominio de la cuenta remitente que se configuró en los envíos de correo de SQL Server.
    lunes, 23 de octubre de 2017 20:40