Come utilizzare SWAKS con SparkPost

Uccello

24 giu 2021

Email

1 min read

Come utilizzare SWAKS con SparkPost

Conclusioni principali

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

    • Semplifica i test SMTP manuali rispetto a telnet offrendo flag chiari, gestione dell'autenticazione, allegati, test TLS, tempi e intestazioni personalizzate.

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

    • L'uso di base include l'invio di un messaggio semplice, l'aggiunta di righe dell'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 via cron per effettuare invii di test regolari "funziona ancora?".

    • Può anche misurare la latenza e la velocità di connessione cronometando le strette di mano SMTP senza inviare un'email completa.

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

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

    • La forzatura della versione TLS (ad esempio, tlsv1_2) permette ai mittenti di testare i loro ambienti e garantire la conformità con le deprecazioni di SparkPost.

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

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

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

Q&A Highlights

  • Cos'è SWAKS?

    Uno strumento di testing SMTP a riga di comando flessibile, noto come il “coltellino svizzero” per email.

  • Perché usare SWAKS invece di telnet?

    Automatizza l'handshake SMTP, supporta l'autenticazione, TLS, allegati e intestazioni, rendendo i test più facili e potenti.

  • Quali piattaforme supporta SWAKS?

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

  • Come posso inviare un'email di test con SWAKS?

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

  • Può SWAKS inviare messaggi con righe di oggetto e intestazioni personalizzate?

    Sì — supporta soggetti, sostituzioni da/per e l'iniezione arbitraria di intestazioni.

  • SWAKS supporta l'invio di allegati?

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

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

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

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

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

  • Come faccio ad autenticare con SparkPost quando uso SWAKS?

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

  • SWAKS può misurare le prestazioni o la latenza?

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

  • SWAKS supporta l'automazione?

    Sì — puoi eseguirlo tramite cron jobs 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 sostituzioni opzionali.

Questo è uno strumento da riga di comando che può inviare email tramite SMTP. Non è solo facile da usare, ma fornisce anche una miriade di opzioni quando necessario.

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare lo strumento telnet onnipresente e molto utile per verificare una connessione SMTP.

Il passo successivo è semplificare il processo manuale utilizzando uno strumento straordinario "livello successivo" (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 qualche problema, basta aggiungere questa pagina ai preferiti, copiare e incollare gli esempi e modificarli a tuo piacimento. Al termine di questo blog, una volta acquisita familiarità e non avendo una grande varietà/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 pulsante (OK, "tasto") di distanza! 

Per lo scopo di questo esercizio, eseguiremo i comandi da un server CentOS 7 ma i comandi sono simili su tutte le piattaforme supportate. Come menzionato sopra, se sei bloccato, copia e incolla direttamente nel tuo sistema e modifica ciò di cui hai bisogno. Ecco le basi:

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare lo strumento telnet onnipresente e molto utile per verificare una connessione SMTP.

Il passo successivo è semplificare il processo manuale utilizzando uno strumento straordinario "livello successivo" (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 qualche problema, basta aggiungere questa pagina ai preferiti, copiare e incollare gli esempi e modificarli a tuo piacimento. Al termine di questo blog, una volta acquisita familiarità e non avendo una grande varietà/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 pulsante (OK, "tasto") di distanza! 

Per lo scopo di questo esercizio, eseguiremo i comandi da un server CentOS 7 ma i comandi sono simili su tutte le piattaforme supportate. Come menzionato sopra, se sei bloccato, copia e incolla direttamente nel tuo sistema e modifica ciò di cui hai bisogno. Ecco le basi:

Lo scorso anno, abbiamo pubblicato un articolo sul blog che mostra come utilizzare lo strumento telnet onnipresente e molto utile per verificare una connessione SMTP.

Il passo successivo è semplificare il processo manuale utilizzando uno strumento straordinario "livello successivo" (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 qualche problema, basta aggiungere questa pagina ai preferiti, copiare e incollare gli esempi e modificarli a tuo piacimento. Al termine di questo blog, una volta acquisita familiarità e non avendo una grande varietà/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 pulsante (OK, "tasto") di distanza! 

Per lo scopo di questo esercizio, eseguiremo i comandi da un server CentOS 7 ma i comandi sono simili su tutte le piattaforme supportate. Come menzionato sopra, se sei bloccato, copia e incolla direttamente nel tuo sistema e modifica ciò di cui hai bisogno. Ecco le basi:

Installa

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

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 di linea "Subject" + altre intestazioni e poi includi un testo "Hello World!" 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, ottimo per testare i limiti di dimensione del messaggio:

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

Hai praticamente imparato le basi! Ora vediamo come puoi migliorare ulteriormente la tua configurazione. Ecco alcune idee:

  • Usa un scheduler come chron per effettuare test di base 'funziona' che possono fungere da fondamento o persino migliorare il tuo sistema di monitoraggio.

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

  • Testa diverse versioni di TLS e cifre

Non sarai lasciato solo, ti mostrerò come fare tutto quanto sopra. Questa volta stiamo per iniettare nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la key API, e le opzioni SMTP). Una volta che disponi della chiave di autenticazione, incollala nel comando (assicurati di mantenere la chiave al sicuro e protetta!):

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 stai cercando una guida su come risolvere i problemi di invio tramite SMTP ai nostri server, dai un'occhiata al nostro articolo sui problemi SMTP. Per test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Echi alle migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS precedenti eccetto v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti permette di testare specifiche versioni e cifre 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 vai avanti e cambia a "tlsv1_1" e usalo su altri domini per osservare la loro compatibilità.

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disimpegnarsi in alcuni punti senza inviare un messaggio, e puoi misurare il tempo 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
<

Come promesso, se sei arrivato fin qui la ricompensa è questa semplice configurazione per impostare parametri di default:

$ 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 salvato, basta digitare “swaks“ e pre-imposta tutto e lo invia sulla sua strada! Ancora meglio, puoi sovrascrivere aggiungendolo sulla linea di comando, ad esempio se desideri un destinatario diverso:

swaks -t recipient@somewherelse.com
sudo yum install epel-release -y && sudo yum install swaks -y

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 di linea "Subject" + altre intestazioni e poi includi un testo "Hello World!" 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, ottimo per testare i limiti di dimensione del messaggio:

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

Hai praticamente imparato le basi! Ora vediamo come puoi migliorare ulteriormente la tua configurazione. Ecco alcune idee:

  • Usa un scheduler come chron per effettuare test di base 'funziona' che possono fungere da fondamento o persino migliorare il tuo sistema di monitoraggio.

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

  • Testa diverse versioni di TLS e cifre

Non sarai lasciato solo, ti mostrerò come fare tutto quanto sopra. Questa volta stiamo per iniettare nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la key API, e le opzioni SMTP). Una volta che disponi della chiave di autenticazione, incollala nel comando (assicurati di mantenere la chiave al sicuro e protetta!):

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 stai cercando una guida su come risolvere i problemi di invio tramite SMTP ai nostri server, dai un'occhiata al nostro articolo sui problemi SMTP. Per test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Echi alle migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS precedenti eccetto v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti permette di testare specifiche versioni e cifre 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 vai avanti e cambia a "tlsv1_1" e usalo su altri domini per osservare la loro compatibilità.

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disimpegnarsi in alcuni punti senza inviare un messaggio, e puoi misurare il tempo 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
<

Come promesso, se sei arrivato fin qui la ricompensa è questa semplice configurazione per impostare parametri di default:

$ 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 salvato, basta digitare “swaks“ e pre-imposta tutto e lo invia sulla sua strada! Ancora meglio, puoi sovrascrivere aggiungendolo sulla linea di comando, ad esempio se desideri un destinatario diverso:

swaks -t recipient@somewherelse.com
sudo yum install epel-release -y && sudo yum install swaks -y

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 di linea "Subject" + altre intestazioni e poi includi un testo "Hello World!" 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, ottimo per testare i limiti di dimensione del messaggio:

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

Hai praticamente imparato le basi! Ora vediamo come puoi migliorare ulteriormente la tua configurazione. Ecco alcune idee:

  • Usa un scheduler come chron per effettuare test di base 'funziona' che possono fungere da fondamento o persino migliorare il tuo sistema di monitoraggio.

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

  • Testa diverse versioni di TLS e cifre

Non sarai lasciato solo, ti mostrerò come fare tutto quanto sopra. Questa volta stiamo per iniettare nei nostri server SparkPost.

Invia un messaggio ai nostri server SparkPost (Come creare la key API, e le opzioni SMTP). Una volta che disponi della chiave di autenticazione, incollala nel comando (assicurati di mantenere la chiave al sicuro e protetta!):

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 stai cercando una guida su come risolvere i problemi di invio tramite SMTP ai nostri server, dai un'occhiata al nostro articolo sui problemi SMTP. Per test di connessione SMTP di base, puoi anche verificare le connessioni SMTP usando sessioni telnet manuali.

Echi alle migliori pratiche di sicurezza, SparkPost ha deprecato tutte le versioni TLS precedenti eccetto v1.2 e superiori. Se vuoi vedere se il tuo sistema è compatibile, SWAKS ti permette di testare specifiche versioni e cifre 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 vai avanti e cambia a "tlsv1_1" e usalo su altri domini per osservare la loro compatibilità.

E se vuoi misurare quanto velocemente risponde un server di posta? SWAKS può attraversare il ciclo SMTP e disimpegnarsi in alcuni punti senza inviare un messaggio, e puoi misurare il tempo 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
<

Come promesso, se sei arrivato fin qui la ricompensa è questa semplice configurazione per impostare parametri di default:

$ 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 salvato, basta digitare “swaks“ e pre-imposta tutto e lo invia sulla sua strada! Ancora meglio, puoi sovrascrivere aggiungendolo sulla linea di comando, ad esempio se desideri 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 nativa AI completa che si adatta al tuo business.

© 2025 Bird

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

La piattaforma nativa AI completa che si adatta al tuo business.

© 2025 Bird