Más allá de lo que ves: 2021

sábado, 24 de julio de 2021

Sendgrid - Envío de correo electrónico de forma rápida y sencilla

Analizando algún servicio que permita enviar email de forma sencilla desde una app,  api rest o similar he hecho búsquedas en Google del tipo "Amazon SES vs ...", me ha salido SendGrid y la he estado "curioseando". Te dejan probar el servicio de forma gratuita sin necesidad de tarjetas ni nada similar así que digo voy a matar el gusanillo de trastear. Una vez me he registrado y activado mi cuenta he comenzado el periplo para testearlo.


He añadido las entradas DNS necesarias a montesinos.org.es para que sendgrid pueda enviar correos usando el dominio montesinos.org.es, sin cuenta de correo existente ojo! y muy importante.

image.png

Una vez autenticado el dominio, he creado un ApiKey para usar el servicio 

image.png

Tras esto he visto que se pueden crear plantillas dinámicas, hombre !! me voy a crear dos, una en castellano y otra su versión en catalán

image.png

Puestos a probar, vamos a probar si puedo enviar de forma rápida y sencilla desde código un correo, no desde el propio sendgrid. Hay dos formas, la recomendada usando el api y la más sencilla usando SMTP Relay, por cual me he decantado para las pruebas?


image.png


Correcto! Web API, aunque seguramente si en tu código ya usas un servicio smtp para el envío te interesará  valorar la opción para enviar desde SMTP Relay, pues imagino que el impacto será mucho menor.

Con qué lenguaje voy a hacer esa prueba? pues ya que estamos probando, sobre linux , en fin... algo rapidito y que cambie respecto a lo que ya conozco, por ejemplo... Python, pero para gustos colores,  java, node, ruby, c#, php...:


image.png


Aquí el código de python para tener una plantilla dinámica que da la bienvenida en el registro en un servicio a un usuario y realiza el bind de variables como el nombre del usuario:

image.png

Como se puede ver en el código envía desde sac@montesinos.org.es cuenta que no existe en mi dominio y que no he creado en ningún servicio de correo

Resultado de un envío en catalán, me gusta:

image.png

y de un envío en castellano, también me gusta:

image.png
La guinda del pastel;

Información de seguimiento, envíos, aperturas, por día, semana, mes...


image.png

Envíos realizados a una dirección en un periodo concreto:

image.png


Información del envío realizado...

image.png

Información avanzada del email:

image.png

Dependerá del volumen de correos que tengas que enviar pero sin duda es una opción más que interesante y a tener en cuenta para simplificar el envío de correo desde tus desarrollos.

El envío utilizando la opción SMTP Relay es igual de sencilla.

Repositorio de Github donde puedes consultar el código de ambos ejemplos, usando API Rest y SMTP Relay.

La siguiente prueba es usar Amazon SES, para otra entrada...

domingo, 6 de junio de 2021

Linux no responde tras suspender el equipo [Solventado]

Llevo casi un año con problemas en mi Dell Inspiron 15 Serie 5000, tras una actualización del sistema operativo, tenía instalado Ubuntu 19, cada vez que estaba trabajando y bajaba la tapa del portátil, se bloqueaba la sesión... al volver a usarlo el sistema operativo no se recuperaba, no arrancaba, se quedaba la pantalla en negro y la única forma de utilizarlo era forzar un reinicio. 

Durante todo este tiempo he buscado en Google que podía estar ocurriendo para intentar solucionarlo, he actualizado la Bios a su última versión, instalado y desinstalado muchas distribuciones de Linux. Si bien con la instalación base todo iba bien, en cuanto las actualizaba volvía a ocurrir lo mismo, he modificado, instalado... drivers de Nvidia, aplicado cambios en el Grub... todo ello sin éxito.

Cansado de probar cosas me resigne a pensar que igual tendría que usar solo la parte de Windows en mi portátil, instalé elementary OS y me limité a usarlo sabiendo que cada vez que lo tuviera que volver a usar tendría que forzar el reinicio. 

Una noche volví a probar suerte y busqué en Google por si encontraba algo, "dell linux crash resume", "nvidia problems linux dell"... en una de las búsquedas acabé en un enlace que me llevó a otro donde se indicaba "Como arrelgar la supensión con el driver de NVIDIA en Ubuntu y además reducir el consumo energético" como en tantas otras ocasiones me decidí a probar; mi sorpresa fue que en este caso si que funcionó !!!

A continuación indico los sencillos pasos que se deben dar para modificar el Grub y solucionar el problema al menos en mi caso, no he probado con otros sistemas operativos pero en mi Elementary no he tenido que volver a reiniciar tras una suspensión, bloqueo... del portátil.

Desde una ventana de terminal ejecutamos:
$ sudo nano /etc/default/grub

Localizamos la línea que contiene el valor GRUB_CMDLINE_LINUX_DEFAULT, es suficiente con modificarla y añadir al final "pci_aspm=off", en mi caso la línea queda como sigue;
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"

Guardas los cambios y cierras el editor, actualizas el grub y reinicias. Voilà!! problema solucionado !!!
$ sudo update-grub
$ reboot

Referencias