
Esta es una herramienta de línea de comandos que puede enviar correos electrónicos a través de SMTP. No solo es fácil de usar, sino que también proporciona simultáneamente una multitud de opciones cuando se necesita.
El año pasado, publicamos un artículo de blog que muestra cómo usar la herramienta telnet ubicua y muy útil para verificar una conexión SMTP.
El siguiente paso es simplificar el proceso manual usando una increíble herramienta de “siguiente nivel” (se refiere a sí misma como la navaja suiza del correo electrónico) llamada SWAKS. Esta es una herramienta de línea de comandos que puede enviar correos electrónicos a través de SMTP. No solo es fácil de usar, sino que también proporciona una gran cantidad de opciones cuando se necesita.
Al principio, me intimidaba la cantidad de opciones, pero es perfectamente utilizable con las opciones más básicas. Si tienes algún problema, simplemente guarda esta página en tus favoritos, copia y pega los ejemplos, y modifícalos a tu gusto. Al final de este blog, una vez que hayas adquirido cierta familiaridad y no tengas mucha variación/dinámica en tus comandos de SWAKS, te mostraré cómo crear un archivo de configuración que predefine todos tus parámetros por defecto. ¡Esto hace que ejecutar SWAKS sea literalmente a un botón (bueno, “tecla”) de distancia!
Para el propósito de este ejercicio, vamos a ejecutar los comandos desde un servidor CentOS 7, pero los comandos son similares en todas las plataformas compatibles. Como se mencionó anteriormente, si te quedas atascado, simplemente copia y pega directamente en tu sistema y modifica lo que necesites. Aquí están los conceptos básicos:
Instalar
Una vez instalado, aquí está la sintaxis básica para enviar un mensaje. En este ejemplo, estamos usando la dirección local del servidor:
Envia un mensaje con un encabezado de línea de “Subject” + otros encabezados y luego incluye un texto de “Hello World!” en el cuerpo:
Aquí se muestra cómo agregar un archivo adjunto, donde SWAKS realiza la conversión a base64 para ti, genial para probar los límites de tamaño de los mensajes:
¡Ya tienes lo básico! Ahora veamos cómo puedes mejorar tu configuración. Aquí tienes algunas ideas:
Usa un programador como chron para realizar pruebas básicas de ‘¿funciona?’ que pueden servir como base o incluso mejorar tu sistema de monitoreo.
Mide la latencia al conectar y cerrar una conexión a un servidor de correo.
Prueba diferentes versiones y cifrados de TLS
No estarás solo aquí, te mostraré cómo hacer todo lo anterior. Esta vez vamos a inyectar en nuestros servidores SparkPost.
Envía un mensaje a nuestros servidores SparkPost (Cómo crear la clave API, y las opciones SMTP). Una vez que obtengas tu clave de autenticación, pégala en el comando (¡asegúrate de mantener la clave segura y protegida!):
Si buscas orientación sobre cómo solucionar problemas al enviar mediante SMTP a nuestros servidores, consulta nuestro artículo de resolución de problemas de SMTP. Para pruebas básicas de conexión SMTP, también puedes verificar conexiones SMTP usando sesiones de telnet manuales.
Siguiendo las mejores prácticas de seguridad, SparkPost ha dejado de soportar todas las versiones antiguas de TLS excepto v1.2 y superiores. Si quieres ver si tu sistema es compatible, SWAKS te permite probar versiones específicas de TLS y cifrados.
En este ejemplo, estamos usando “tlsv1_2” pero adelante y cambia eso a “tlsv1_1” y úsalo en otros dominios para observar su compatibilidad.
¿Y si quieres medir el tiempo de respuesta de un servidor de correo? SWAKS puede recorrer el ciclo SMTP y desconectarse en algunos puntos sin enviar un mensaje, y puedes medirlo usando el comando “time” que se muestra al final del output:
Como se prometió, si has llegado hasta aquí, la recompensa es este sencillo canto de un archivo de configuración para establecer parámetros predeterminados:
Copia y pega esto en el archivo .swaksrc:
Una vez que lo guardes, simplemente escribe “swaks” y precarga todo y lo envía alegremente en su camino. Aún mejor, puedes sobrescribir agregándolo en la línea de comandos, por ejemplo, si deseas un destinatario diferente: