Come usare SWAKS con SparkPost

Uccello

24 giu 2021

Email

1 min read

Come usare SWAKS con SparkPost

Punti Chiave

    • SWAKS (Swiss Army Knife per SMTP) è un potente strumento da riga di comando per inviare email e testare le connessioni SMTP in modo flessibile e adatto agli script.

    • Semplifica il test manuale di SMTP rispetto a telnet offrendo flag chiari, gestione dell'autenticazione, allegati, test TLS, temporizzazione e intestazioni personalizzate.

    • Lo strumento funziona su più piattaforme ed è adatto ai principianti nonostante le sue ampie capacità.

    • L'uso base include l'invio di un semplice messaggio, l'aggiunta di linee oggetto, l'inclusione di intestazioni e l'invio di allegati senza conversione manuale in base64.

    • SWAKS è ideale per controlli di affidabilità e monitoraggio — può essere programmato tramite cron per eseguire invii di test regolari “funziona ancora?”.

    • Può anche misurare la latenza e la velocità di connessione temporizzando i handshake SMTP senza inviare un'email completa.

    • SWAKS supporta test TLS dettagliati, inclusa la validazione della compatibilità con standard moderni come TLS 1.2 (richiesto da SparkPost).

    • Quando si utilizza SparkPost, SWAKS consente un'iniezione facile nei server SMTP di SparkPost utilizzando una chiave API per l'autenticazione.

    • Forzatura della versione TLS (ad es., tlsv1_2) consente ai mittenti di testare i propri ambienti e garantire la conformità alle deprecazioni di SparkPost.

    • SWAKS fornisce un debug dettagliato, rendendolo utile per convalidare le configurazioni SMTP e diagnosticare le connessioni non riuscite.

    • Un file di configurazione .swaksrc consente agli utenti di memorizzare parametri predefiniti, abilitando l'invio con un solo comando per test ripetuti.

    • SWAKS supporta le sovrascritture da riga di comando, consentendo agli utenti di regolare dinamicamente qualsiasi campo quando necessario.

Punti salienti del Q&A

  • Che cos'è SWAKS?

    Uno strumento di test SMTP da riga di comando flessibile conosciuto come il “coltello svizzero” per le email.

  • Perché usare SWAKS invece di telnet?

    Automatizza il handshake SMTP, supporta l'autenticazione, TLS, allegati e intestazioni, rendendo il testing più facile e potente.

  • Quali piattaforme supporta SWAKS?

    Linux, macOS e la maggior parte dei sistemi simili a Unix, con una sintassi simile tra di loro.

  • Come posso inviare un'e-mail di prova di base con SWAKS?

    Eseguendo un semplice comando specificando il destinatario, il mittente e l'indirizzo del server.

  • SWAKS può inviare messaggi con righe dell'oggetto e intestazioni personalizzate?

    Sì — supporta soggetti, sovrascritture da/a e iniezione di intestazioni arbitrarie.

  • SWAKS supporta l'invio di allegati?

    Sì — e gestisce automaticamente la codifica base64 per te.

  • SWAKS può aiutare a testare la compatibilità TLS?

    Assolutamente — puoi forzare specifiche versioni di TLS (come TLS 1.2) o testare il supporto dei cifrari.

  • Perché TLS 1.2 è importante quando si invia a SparkPost?

    Le versioni più vecchie di TLS sono deprecate; SparkPost richiede TLS 1.2+ per connessioni sicure.

  • Come faccio a autenticarmi con SparkPost quando uso SWAKS?

    Utilizzando la tua chiave API SparkPost come password SMTP durante il comando.

  • Può SWAKS misurare le prestazioni o la latenza?

    Sì — utilizzando il comando time e cicli SMTP parziali per misurare la velocità del handshake.

  • SWAKS supporta l'automazione?

    Sì — puoi eseguirlo tramite cron job per testare ripetutamente gli ambienti SMTP.

  • Cos'è un file .swaksrc e perché usarlo?

    È un file di configurazione che memorizza i parametri predefiniti di SWAKS, consentendo l'invio con un solo comando con sovrascritture opzionali.

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare l'utensile telnet onnipresente e molto utile per controllare una connessione SMTP.

Il passaggio successivo è semplificare il processo manuale utilizzando uno strumento fantastico di “next level” (si riferisce a se stesso come il coltellino svizzero delle email) chiamato SWAKS. Questo è uno strumento da riga di comando che può inviare email tramite SMTP. Non è solo facile da usare, ma offre anche simultaneamente una miriade di opzioni quando necessario.

All'inizio, ero intimidito dalla quantità di opzioni, ma è perfettamente utilizzabile con le opzioni più basilari. Se hai problemi, basta aggiungere questa pagina ai segnalibri, copiare e incollare gli esempi e modificarli a tuo piacimento. Alla fine di questo blog, una volta che avrai acquisito una certa familiarità e non avrai molta variazione/dinamica nei tuoi comandi SWAKS, ti mostrerò come creare un file di configurazione che pre-imposta tutti i tuoi parametri predefiniti. Questo rende l'esecuzione di SWAKS letteralmente a un tasto (OK, “chiave”) di distanza! 

Per questo esercizio, eseguiremo i comandi da un server CentOS 7, ma i comandi sono simili su tutte le piattaforme supportate. Come accennato in precedenza, se sei bloccato, basta copiare e incollare direttamente nel tuo sistema e modificare ciò di cui hai bisogno. Ecco le nozioni di base:

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare l'utensile telnet onnipresente e molto utile per controllare una connessione SMTP.

Il passaggio successivo è semplificare il processo manuale utilizzando uno strumento fantastico di “next level” (si riferisce a se stesso come il coltellino svizzero delle email) chiamato SWAKS. Questo è uno strumento da riga di comando che può inviare email tramite SMTP. Non è solo facile da usare, ma offre anche simultaneamente una miriade di opzioni quando necessario.

All'inizio, ero intimidito dalla quantità di opzioni, ma è perfettamente utilizzabile con le opzioni più basilari. Se hai problemi, basta aggiungere questa pagina ai segnalibri, copiare e incollare gli esempi e modificarli a tuo piacimento. Alla fine di questo blog, una volta che avrai acquisito una certa familiarità e non avrai molta variazione/dinamica nei tuoi comandi SWAKS, ti mostrerò come creare un file di configurazione che pre-imposta tutti i tuoi parametri predefiniti. Questo rende l'esecuzione di SWAKS letteralmente a un tasto (OK, “chiave”) di distanza! 

Per questo esercizio, eseguiremo i comandi da un server CentOS 7, ma i comandi sono simili su tutte le piattaforme supportate. Come accennato in precedenza, se sei bloccato, basta copiare e incollare direttamente nel tuo sistema e modificare ciò di cui hai bisogno. Ecco le nozioni di base:

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare l'utensile telnet onnipresente e molto utile per controllare una connessione SMTP.

Il passaggio successivo è semplificare il processo manuale utilizzando uno strumento fantastico di “next level” (si riferisce a se stesso come il coltellino svizzero delle email) chiamato SWAKS. Questo è uno strumento da riga di comando che può inviare email tramite SMTP. Non è solo facile da usare, ma offre anche simultaneamente una miriade di opzioni quando necessario.

All'inizio, ero intimidito dalla quantità di opzioni, ma è perfettamente utilizzabile con le opzioni più basilari. Se hai problemi, basta aggiungere questa pagina ai segnalibri, copiare e incollare gli esempi e modificarli a tuo piacimento. Alla fine di questo blog, una volta che avrai acquisito una certa familiarità e non avrai molta variazione/dinamica nei tuoi comandi SWAKS, ti mostrerò come creare un file di configurazione che pre-imposta tutti i tuoi parametri predefiniti. Questo rende l'esecuzione di SWAKS letteralmente a un tasto (OK, “chiave”) di distanza! 

Per questo esercizio, eseguiremo i comandi da un server CentOS 7, ma i comandi sono simili su tutte le piattaforme supportate. Come accennato in precedenza, se sei bloccato, basta copiare e incollare direttamente nel tuo sistema e modificare ciò di cui hai bisogno. Ecco le nozioni di base:

Installa 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

Inviare la tua prima email con SWAKS

Una volta installato, ecco la sintassi di base per inviare un messaggio. In questo esempio, stiamo utilizzando l'indirizzo locale del server:


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


Invia un messaggio con un'intestazione della riga "Oggetto" + altre intestazioni e poi includi un testo "Ciao Mondo!" nel corpo:


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!"


Ecco come aggiungere un allegato, dove SWAKS esegue la conversione base64 per te, utile per testare i limiti di dimensione dei messaggi:


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

Una volta installato, ecco la sintassi di base per inviare un messaggio. In questo esempio, stiamo utilizzando l'indirizzo locale del server:


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


Invia un messaggio con un'intestazione della riga "Oggetto" + altre intestazioni e poi includi un testo "Ciao Mondo!" nel corpo:


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!"


Ecco come aggiungere un allegato, dove SWAKS esegue la conversione base64 per te, utile per testare i limiti di dimensione dei messaggi:


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

Una volta installato, ecco la sintassi di base per inviare un messaggio. In questo esempio, stiamo utilizzando l'indirizzo locale del server:


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


Invia un messaggio con un'intestazione della riga "Oggetto" + altre intestazioni e poi includi un testo "Ciao Mondo!" nel corpo:


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!"


Ecco come aggiungere un allegato, dove SWAKS esegue la conversione base64 per te, utile per testare i limiti di dimensione dei messaggi:


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

Tecniche avanzate di testing SWAKS

Sei praticamente a posto con le basi! Ora vediamo come puoi migliorare ulteriormente il tuo setup. Ecco alcune idee:

  • Usa un pianificatore come chron per fare test di base 'funziona?' che possono servire da fondamento  o persino integrare il tuo sistema di monitoraggio.

  • Misura la latenza quando ti connetti e chiudi una connessione a un server di posta.

  • Testa diverse versioni e cifrari TLS

Non sarai lasciato solo qui, ti mostrerò come fare tutto quanto sopra.

Sei praticamente a posto con le basi! Ora vediamo come puoi migliorare ulteriormente il tuo setup. Ecco alcune idee:

  • Usa un pianificatore come chron per fare test di base 'funziona?' che possono servire da fondamento  o persino integrare il tuo sistema di monitoraggio.

  • Misura la latenza quando ti connetti e chiudi una connessione a un server di posta.

  • Testa diverse versioni e cifrari TLS

Non sarai lasciato solo qui, ti mostrerò come fare tutto quanto sopra.

Sei praticamente a posto con le basi! Ora vediamo come puoi migliorare ulteriormente il tuo setup. Ecco alcune idee:

  • Usa un pianificatore come chron per fare test di base 'funziona?' che possono servire da fondamento  o persino integrare il tuo sistema di monitoraggio.

  • Misura la latenza quando ti connetti e chiudi una connessione a un server di posta.

  • Testa diverse versioni e cifrari TLS

Non sarai lasciato solo qui, ti mostrerò come fare tutto quanto sopra.

Usare SWAKS con SparkPost SMTP

Questa volta inietteremo nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la chiave API, e le opzioni SMTP). Una volta ottenuta la tua chiave di autenticazione, incollala nel comando (assicurati di tenere la chiave al sicuro!):


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

Se hai bisogno di indicazioni su come risolvere i problemi di invio tramite SMTP ai nostri server, consulta il nostro articolo di risoluzione dei problemi SMTP. Per il test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Testare le versioni TLS e la compatibilità dei cifrari

Seguendo le migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS più vecchie tranne v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti consente di testare specifiche versioni e cifrari TLS.


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

In questo esempio, stiamo usando “tlsv1_2” ma sentiti libero di cambiarlo in “tlsv1_1” e utilizzarlo su altri domini per osservare la loro compatibilità.

Misurare la latenza della connessione SMTP

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disconnettersi in alcuni punti senza inviare un messaggio, e puoi misurarlo usando il comando “time” che mostra alla fine dell'output:


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

Questa volta inietteremo nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la chiave API, e le opzioni SMTP). Una volta ottenuta la tua chiave di autenticazione, incollala nel comando (assicurati di tenere la chiave al sicuro!):


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

Se hai bisogno di indicazioni su come risolvere i problemi di invio tramite SMTP ai nostri server, consulta il nostro articolo di risoluzione dei problemi SMTP. Per il test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Testare le versioni TLS e la compatibilità dei cifrari

Seguendo le migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS più vecchie tranne v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti consente di testare specifiche versioni e cifrari TLS.


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

In questo esempio, stiamo usando “tlsv1_2” ma sentiti libero di cambiarlo in “tlsv1_1” e utilizzarlo su altri domini per osservare la loro compatibilità.

Misurare la latenza della connessione SMTP

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disconnettersi in alcuni punti senza inviare un messaggio, e puoi misurarlo usando il comando “time” che mostra alla fine dell'output:


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

Questa volta inietteremo nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la chiave API, e le opzioni SMTP). Una volta ottenuta la tua chiave di autenticazione, incollala nel comando (assicurati di tenere la chiave al sicuro!):


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

Se hai bisogno di indicazioni su come risolvere i problemi di invio tramite SMTP ai nostri server, consulta il nostro articolo di risoluzione dei problemi SMTP. Per il test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Testare le versioni TLS e la compatibilità dei cifrari

Seguendo le migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS più vecchie tranne v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti consente di testare specifiche versioni e cifrari TLS.


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

In questo esempio, stiamo usando “tlsv1_2” ma sentiti libero di cambiarlo in “tlsv1_1” e utilizzarlo su altri domini per osservare la loro compatibilità.

Misurare la latenza della connessione SMTP

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disconnettersi in alcuni punti senza inviare un messaggio, e puoi misurarlo usando il comando “time” che mostra alla fine dell'output:


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

Automatizzare SWAKS con un file di configurazione

Come promesso, se sei arrivato fin qui la ricompensa è questo semplice file di configurazione per impostare i parametri predefiniti:


$ cd $HOME
$ vim .swaksrc


Copia e incolla questo nel file .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 volta che lo salvi, basta digitare “swaks“ e si precompila tutto e lo invia via! Ancora meglio, puoi sovrascrivere aggiungendolo nella riga di comando, per esempio se vuoi un destinatario diverso:


swaks -t recipient@somewherelse.com

Come promesso, se sei arrivato fin qui la ricompensa è questo semplice file di configurazione per impostare i parametri predefiniti:


$ cd $HOME
$ vim .swaksrc


Copia e incolla questo nel file .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 volta che lo salvi, basta digitare “swaks“ e si precompila tutto e lo invia via! Ancora meglio, puoi sovrascrivere aggiungendolo nella riga di comando, per esempio se vuoi un destinatario diverso:


swaks -t recipient@somewherelse.com

Come promesso, se sei arrivato fin qui la ricompensa è questo semplice file di configurazione per impostare i parametri predefiniti:


$ cd $HOME
$ vim .swaksrc


Copia e incolla questo nel file .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 volta che lo salvi, basta digitare “swaks“ e si precompila tutto e lo invia via! Ancora meglio, puoi sovrascrivere aggiungendolo nella riga di comando, per esempio se vuoi un destinatario diverso:


swaks -t recipient@somewherelse.com

Altre notizie

Leggi di più da questa categoria

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

La piattaforma completa nativa dell'IA che si espande con la tua azienda.

© 2025 Uccello

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

La piattaforma completa nativa dell'IA che si espande con la tua azienda.

© 2025 Uccello