Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

Cómo usar SWAKS con SparkPost

Pájaro

24 jun 2021

Correo electrónico

1 min read

Cómo usar SWAKS con SparkPost

Pájaro

24 jun 2021

Correo electrónico

1 min read

Cómo usar SWAKS con SparkPost

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.

Business in a box.

Descubre nuestras soluciones.

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

sudo yum install epel-release -y && sudo yum install swaks -y

Una vez instalado, aquí está la sintaxis básica para enviar un mensaje. En este ejemplo, usamos la dirección local del servidor:

swaks -s 127.0.0.1 -f sender@from.com -t recipient@recipient.com

Envía un mensaje con un encabezado de línea de “Subject” + otros encabezados e incluye un texto “Hello World!” en el cuerpo:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --header "Subject: Hello! This is the subject header\Second_header:123\nThird_Header:XYZ" --body “Hello World!”

Aquí está cómo añadir un archivo adjunto, donde SWAKS hace la conversión a base64 por ti, genial para probar límites de tamaño de mensaje:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --attach /path/to/file.tgz

¡Estás prácticamente listo con lo básico! Ahora veamos cómo puedes mejorar tu configuración. Aquí hay algunas ideas:

  • Usa un programador como chron para realizar pruebas básicas 'funciona' que pueden funcionar como base o incluso para mejorar tu sistema de monitoreo.

  • Medir la latencia al conectar y cerrar una conexión a un servidor de correo.

  • Probar diferentes versiones de TLS y cifrados

No te vas a quedar 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 aquí, y las opciones SMTP aquí). Una vez que obtengas tu clave de autenticación, pégala en el comando (¡asegúrate de mantener la clave segura!):

swaks -server smtp.sparkpostmail.com:587 -tls --auth-user SMTP_Injection --auth-password [tu clave de auth] -f me@from.com -t them@recipient.com

Si buscas orientación sobre cómo solucionar problemas al enviar a nuestros servidores vía SMTP, revisa este artículo. Para pruebas básicas de conexión SMTP, también puedes verificar las conexiones SMTP usando sesiones telnet manuales.

Reiterando las mejores prácticas de seguridad, SparkPost ha descontinuado todas las versiones de TLS anteriores excepto v1.2 y superiores. Si quieres ver si tu sistema es compatible, SWAKS te permite probar versiones específicas de TLS y cifrados.

swaks -s smtp.sparkpostmail.com -tls  -p 587 -f me@from.com -t them@recipient.com -tlsp tlsv1_2 --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

En este ejemplo, estamos usando “tlsv1_2” pero adelante y cambia eso a “tlsv1_1” y úsalo en otros dominios para observar su compatibilidad.

¿Qué pasa si quieres cronometrar qué tan rápido responde un servidor de correo? SWAKS puede recorrer el ciclo SMTP y desembarcar en algunos puntos sin enviar un mensaje, y puedes cronometrarlo usando el comando “time”, que muestra al final del resultado:

$ time swaks -s 127.0.0.1 -f sender@from.com -t them@recipient.com test--quit-after RCPT === Trying 127.0.0.1:25... === Connected to 127.0.0.1. …  -> RCPT TO:<them@recipient.com> <-  250 2.1.5 <them@recipient.com> ok  -> QUIT <-  221 2.0.0 v1pmta5.jasdevism.com says goodbye === Connection closed with remote host. real 0m0.049s user 0m0.038s sys 0m0.009s

Como lo prometí, si llegaste hasta aquí, la recompensa es esta sencilla manera de cantar un archivo de configuración para establecer parámetros predeterminados:

$ Cd $HOME $ vim .swaksrc  # Copia y pega esto en el archivo .swaksrc --from swakstest@jasdevism.com h-From: "Jas Swaks" <swakstest@jasdevism.com> -s 127.0.0.1  --body "¡Esto es una prueba!" --to jsingh@sparkpost.com

Una vez que lo guardes, simplemente escribe “swaks“ y lo rellena todo y lo envía en su camino feliz. Aún mejor, puedes sobrescribirlo agregando en la línea de comandos, por ejemplo, si deseas un destinatario diferente:

swaks -t recipient@somewherelse.com

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

R

Reach

G

Grow

M

Manage

A

Automate

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.