App Service

Solución de problemas de SMTP / Envío de correos electrónicos desde Azure Web Apps

Información tomada del blog de Jeremy Brooks: https://blog.brooksjc.com/2018/09/18/troubleshooting-smtp-issues-sending-emails-from-azure-web-apps/

Lo primero que debemos saber es si se esta o no utilizando un servicio de retrasmisión o se esta intentando enviar los correos electrónicos directamente desde la aplicación web.

Para evitar la posibilidad de que los clientes utilicen los recursos de Azure para enviar correos no deseados, no se permite el envió de correos directamente desde ningún servicio en Azure.

https://docs.microsoft.com/en-us/azure/virtual-network/troubleshoot-outbound-smtp-connectivity

Por lo tanto, primero verifique si el cliente está utilizando un servicio de retransmisión. Si no tienen un servicio de retransmisión, deben configurar su aplicación para usar uno, no hay otra solución. Servicios de retransmisión  (sendgrid, O365, de igual manera los servicios propios del cliente en on prem)

Antes de sugerir la revisión del código, deberíamos revisar la red o plataforma. Por lo que podemos seguir los siguientes pasos:

  1. TCPPING al servicio de retransmisión por el puerto correcto. Técnicamente, solo debería usar 587 o 443. La conexión al relé por el puerto 25 puede funcionar, pero la recomendación es 587 o 443.

Si esta prueba falla, verifique que no exista un firewall o dispositivo que bloquee las conexiones. Si existiera y  se necesita incluir direcciones IP en la lista blanca, pueden hacerlo con las direcciones IP salientes para la aplicación web.

Si la prueba funciona, vamos a tratar de conectarnos al servicio de retransmisión utilizando el comando curl smtp para realizar una llamada al servicio de retransmisión para asegurarnos de que podamos conectarnos correctamente y autenticarnos en el servicio.

  1. Acceda a la pagina de Kudu de la aplicación.
  2. Escriba touch temp.txt debajo de D: / home / site / wwwroot o como quiera llamar al archivo
  3. Ejecute el comando a continuación con los valores cambiados a sus respectivos puntos finales, correo electrónico y contraseña ect. Como solo está probando la pieza de autenticación, puede dejar el archivo txt en blanco y solo tener valores ficticios para las direcciones -from y -to. El modificador -v generará un registro detallado para identificar mejor los problemas.

curl –connect-timeout 15 -v –insecure “smtp://smtp.office365.com:587” -u “email:password” –mail-from “emailFrom” –mail-rcpt “emailTo” –ssl –upload-file temp.txt

https://stackoverflow.com/questions/14722556/using-curl-to-send-email

4. Si todos los pasos de solución de problemas anteriores funcionaron y aún falla en su aplicación, lo más probable es que lo hayamos aislado en su código, por lo que mi recomendación es revisar su código más a fondo. Como recomendación puedes ver si puedes intentar usar otro método temporalmente para desbloquear tu desarrollo.

Referencias

Sendgrid: https://docs.microsoft.com/en-us/azure/sendgrid-dotnet-how-to-send-email

Office 365: https://blogs.msdn.microsoft.com/benjaminperkins/2017/01 / 11 / envío-de-correo-electrónico-desde-una-aplicación-web-azure-usando-un-servidor-o365-smtp /

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *