Cómo usar SWAKS con SparkPost

Pájaro

24 jun 2021

Correo electrónico

1 min read

Cómo usar SWAKS con SparkPost

Puntos clave

    • SWAKS (Swiss Army Knife for SMTP) es una poderosa herramienta de línea de comandos para enviar correos electrónicos y probar conexiones SMTP de manera flexible y amigable para scripts.

    • Simplifica las pruebas manuales de SMTP en comparación con telnet al ofrecer banderas claras, manejo de autenticación, archivos adjuntos, pruebas TLS, sincronización y encabezados personalizados.

    • La herramienta funciona en múltiples plataformas y es amigable para principiantes a pesar de sus amplias capacidades.

    • El uso básico incluye enviar un mensaje simple, agregar líneas de asunto, incluir encabezados y enviar archivos adjuntos sin conversión manual a base64.

    • SWAKS es ideal para comprobaciones de fiabilidad y monitoreo — se puede programar mediante cron para realizar envíos regulares de pruebas “¿todavía funciona?”.

    • También puede medir la latencia y velocidad de conexión cronometrando los handshakes SMTP sin enviar un correo electrónico completo.

    • SWAKS soporta pruebas detalladas de TLS, incluyendo la validación de compatibilidad con estándares modernos como TLS 1.2 (requerido por SparkPost).

    • Al usar SparkPost, SWAKS permite una inyección fácil en los servidores SMTP de SparkPost usando una clave API para la autenticación.

    • Forzar la versión de TLS (por ejemplo, tlsv1_2) permite a los remitentes probar sus entornos y asegurarse del cumplimiento con las deprecaciones de SparkPost.

    • SWAKS proporciona una depuración detallada, siendo útil para validar configuraciones SMTP y diagnosticar conexiones fallidas.

    • Un archivo de configuración .swaksrc permite a los usuarios almacenar parámetros predeterminados, habilitando el envío con un solo comando para pruebas repetidas.

    • SWAKS soporta anular mediante la línea de comandos, permitiendo a los usuarios ajustar cualquier campo de manera dinámica cuando sea necesario.

Destacados de Q&A

  • ¿Qué es SWAKS?

    Una herramienta de prueba SMTP de línea de comandos flexible conocida como la "navaja suiza" para el correo electrónico.

  • ¿Por qué usar SWAKS en lugar de telnet?

    Automatiza el protocolo SMTP, admite autenticación, TLS, adjuntos y encabezados, haciendo que las pruebas sean más fáciles y potentes.

  • ¿Qué plataformas admite SWAKS?

    Linux, macOS y la mayoría de los sistemas similares a Unix, con una sintaxis similar entre ellos.

  • ¿Cómo envío un correo electrónico de prueba básico con SWAKS?

    Ejecutando un comando simple que especifica el destinatario, el remitente y la dirección del servidor.

  • ¿Puede SWAKS enviar mensajes con líneas de asunto y encabezados personalizados?

    Sí — admite temas, anulaciones de destinatario/remitente e inyección arbitraria de encabezados.

  • ¿SWAKS admite el envío de archivos adjuntos?

    Sí — y maneja automáticamente la codificación base64 por ti.

  • ¿Puede SWAKS ayudar a probar la compatibilidad TLS?

    Absolutamente — puedes forzar versiones específicas de TLS (como TLS 1.2) o probar el soporte de cifrado.

  • ¿Por qué es importante TLS 1.2 al enviar a SparkPost?

    Las versiones anteriores de TLS están obsoletas; SparkPost requiere TLS 1.2+ para conexiones seguras.

  • ¿Cómo autentico con SparkPost al usar SWAKS?

    Usando tu clave API de SparkPost como la contraseña SMTP durante el comando.

  • ¿Puede SWAKS medir el rendimiento o la latencia?

    Sí — usando el comando time y ciclos parciales de SMTP para medir la velocidad del apretón de manos.

  • ¿SWAKS soporta automation?

    Sí — puedes ejecutarlo a través de trabajos cron para probar repetidamente los entornos SMTP.

  • ¿Qué es un archivo .swaksrc y por qué usarlo?

    Es un archivo de configuración que almacena parámetros de SWAKS predeterminados, permitiendo el envío con un solo comando con sobrescrituras opcionales.

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:

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:

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 SWAKS

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

Enviando tu primer correo electrónico con SWAKS

Una vez instalado, aquí está la sintaxis básica para enviar un mensaje. En este ejemplo, estamos usando 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 “Subject” + otros encabezados y luego 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" 
  --header "Second_Header: 123" 
  --header "Third_Header: XYZ" 
  --body "Hello World!"


Aquí está cómo agregar un archivo adjunto, donde SWAKS realiza la conversión 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

Una vez instalado, aquí está la sintaxis básica para enviar un mensaje. En este ejemplo, estamos usando 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 “Subject” + otros encabezados y luego 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" 
  --header "Second_Header: 123" 
  --header "Third_Header: XYZ" 
  --body "Hello World!"


Aquí está cómo agregar un archivo adjunto, donde SWAKS realiza la conversión 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

Una vez instalado, aquí está la sintaxis básica para enviar un mensaje. En este ejemplo, estamos usando 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 “Subject” + otros encabezados y luego 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" 
  --header "Second_Header: 123" 
  --header "Third_Header: XYZ" 
  --body "Hello World!"


Aquí está cómo agregar un archivo adjunto, donde SWAKS realiza la conversión 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

Técnicas avanzadas de prueba SWAKS

¡Ya tienes lo básico casi listo! Ahora veamos cómo puedes mejorar tu configuración. Aquí tienes algunas ideas:

  • Usa un programador como cron para realizar pruebas básicas de ‘¿funciona?’ que pueden servir como base o incluso aumentar tu sistema de monitoreo.

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

  • Prueba diferentes versiones de TLS y cifrados

No te vas a quedar solo aquí, te mostraré cómo hacer todo lo anterior.

¡Ya tienes lo básico casi listo! Ahora veamos cómo puedes mejorar tu configuración. Aquí tienes algunas ideas:

  • Usa un programador como cron para realizar pruebas básicas de ‘¿funciona?’ que pueden servir como base o incluso aumentar tu sistema de monitoreo.

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

  • Prueba diferentes versiones de TLS y cifrados

No te vas a quedar solo aquí, te mostraré cómo hacer todo lo anterior.

¡Ya tienes lo básico casi listo! Ahora veamos cómo puedes mejorar tu configuración. Aquí tienes algunas ideas:

  • Usa un programador como cron para realizar pruebas básicas de ‘¿funciona?’ que pueden servir como base o incluso aumentar tu sistema de monitoreo.

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

  • Prueba diferentes versiones de TLS y cifrados

No te vas a quedar solo aquí, te mostraré cómo hacer todo lo anterior.

Using SWAKS con SparkPost SMTP

Esta vez vamos a inyectar en nuestros servidores de SparkPost.

Envía un mensaje a nuestros servidores de 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 segura y protegida la clave!):


swaks 
  --server smtp.sparkpostmail.com:587 
  --tls 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_AUTH_KEY" 
  -f me@from.com 
  -t them@recipient.com

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

Prueba de versiones TLS y compatibilidad de cifrado

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


swaks 
  -s smtp.sparkpostmail.com:587 
  --tls 
  -f me@from.com 
  -t them@recipient.com 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_API_KEY" 
  -tlsp tlsv1_2 
  --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

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

Midiendo la latencia de conexión SMTP

¿Qué pasa si quieres medir qué tan rápido responde un servidor de correo? SWAKS puede pasar por el ciclo SMTP y desconectarse en algunos puntos sin enviar un mensaje, y puedes medirlo usando el comando “time” que muestra al final de la salida:


$ 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
<

Esta vez vamos a inyectar en nuestros servidores de SparkPost.

Envía un mensaje a nuestros servidores de 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 segura y protegida la clave!):


swaks 
  --server smtp.sparkpostmail.com:587 
  --tls 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_AUTH_KEY" 
  -f me@from.com 
  -t them@recipient.com

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

Prueba de versiones TLS y compatibilidad de cifrado

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


swaks 
  -s smtp.sparkpostmail.com:587 
  --tls 
  -f me@from.com 
  -t them@recipient.com 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_API_KEY" 
  -tlsp tlsv1_2 
  --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

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

Midiendo la latencia de conexión SMTP

¿Qué pasa si quieres medir qué tan rápido responde un servidor de correo? SWAKS puede pasar por el ciclo SMTP y desconectarse en algunos puntos sin enviar un mensaje, y puedes medirlo usando el comando “time” que muestra al final de la salida:


$ 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
<

Esta vez vamos a inyectar en nuestros servidores de SparkPost.

Envía un mensaje a nuestros servidores de 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 segura y protegida la clave!):


swaks 
  --server smtp.sparkpostmail.com:587 
  --tls 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_AUTH_KEY" 
  -f me@from.com 
  -t them@recipient.com

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

Prueba de versiones TLS y compatibilidad de cifrado

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


swaks 
  -s smtp.sparkpostmail.com:587 
  --tls 
  -f me@from.com 
  -t them@recipient.com 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_API_KEY" 
  -tlsp tlsv1_2 
  --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

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

Midiendo la latencia de conexión SMTP

¿Qué pasa si quieres medir qué tan rápido responde un servidor de correo? SWAKS puede pasar por el ciclo SMTP y desconectarse en algunos puntos sin enviar un mensaje, y puedes medirlo usando el comando “time” que muestra al final de la salida:


$ 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
<

Automatización de SWAKS con un archivo de configuración

Como prometido, si has llegado hasta aquí, la recompensa es este sencillo 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 "This is a test!"
--to jsingh@sparkpost.com


Una vez que lo guardes, simplemente escribe “swaks“ y se autocompleta todo y se envía por su buen camino. Aún mejor, puedes sobrescribirlo agregándolo en la línea de comandos, por ejemplo, si quieres un destinatario diferente:


swaks -t recipient@somewherelse.com

Como prometido, si has llegado hasta aquí, la recompensa es este sencillo 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 "This is a test!"
--to jsingh@sparkpost.com


Una vez que lo guardes, simplemente escribe “swaks“ y se autocompleta todo y se envía por su buen camino. Aún mejor, puedes sobrescribirlo agregándolo en la línea de comandos, por ejemplo, si quieres un destinatario diferente:


swaks -t recipient@somewherelse.com

Como prometido, si has llegado hasta aquí, la recompensa es este sencillo 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 "This is a test!"
--to jsingh@sparkpost.com


Una vez que lo guardes, simplemente escribe “swaks“ y se autocompleta todo y se envía por su buen camino. Aún mejor, puedes sobrescribirlo agregándolo en la línea de comandos, por ejemplo, si quieres un destinatario diferente:


swaks -t recipient@somewherelse.com

Otras noticias

Leer más de esta categoría

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird