none
enviar email al finalizar el flujo de datos ETL RRS feed

  • Pregunta

  • cree un elt  pero al finalizar quiero que envié  un email

    pero me da el error de conexión con el servidor

    System.Net.WebException: No es posible conectar con el servidor remoto  System.Net.Sockets.SocketException: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder 64.233.170.109:25".

    miércoles, 8 de enero de 2020 21:39

Respuestas

  • Veo al menos dos problemas para que te funcione la tarea SendMail.

    Estás usando el servidor de gmail. Pero este servidor atiende en un puerto distinto del 25, que es el que usa la tarea. De ahí que te diga que "no es posible conectar".

    Pero incluso aunque pudieras resolver este problema (no sé si esto funciona, pero puede que soporte pasarle el puerto al final del nombre del servidor en el Connection Manager), entonces te encontrarías un segundo escollo: resulta que la tarea SendMail únicamente soporta autenticación anónima y autenticación de Windows. Pero no soporta autenticación básica con usuario y password. Así que no es compatible con gmail.

    Se me ocurren un par de sugerencias. Una es habilitar en un servidor cualquiera (puede ser el mismo en el que estás ejecutando el SSIS) el servicio SMTP que viene con Windows, y configurarlo como reenviador para que retransmita los correos a gmail. Y entonces en la tarea SendMail configuras como servidor saliente el propio servidor local que acabas de configurar, que sñi que escucha en el puerto estándar y acepta autenticación de Windows (o incluso podrías usar la anónima configurándolo para que fltre por IP).

    Otra sugerencia es que uses una tarea de Script en lugar de la tarea de SendMail. Y dentro del Script escribes código de .Net que use las librerías de System.Net.Mail para enviar el correo.

    Otra opción más sería configurar el Database Mail en SQL Server, que te permite enviar correo llamando al procedimiento almacenado sp_send_dbmail. Este procedimiento podrías invocarlo desde SSIS con una tarea de Ejecutar SQL.

    Y no, nunca he probado a hacer ninguna de estas cosas contra Gmail. En teoría debería funcionar, pero tendrás que experimentar un poco.

    Y, claro, la opción final es prescindir de Gmail y usar un servidor de correo más compatible con SSIS. Típicamente ejecutas SSIS en un entorno corporativo en el que el servidor ya es miembro de un dominio en el que existe un servidor de correo tal como Exchange o algún otro servidor que use el puerto 25 y autenticación integrada. Entonces sí que es muy sencillo usar la tarea SendMail sin más que poner el nombre de este servidor.

    miércoles, 8 de enero de 2020 22:30