Hoe SWAKS te gebruiken met SparkPost

Bird

24 jun 2021

E-mail

1 min read

Hoe SWAKS te gebruiken met SparkPost

Belangrijkste punten

    • SWAKS (Swiss Army Knife for SMTP) is een krachtig command-line programma voor het verzenden van e-mails en het testen van SMTP-verbindingen op een flexibele, script-vriendelijke manier.

    • Het vereenvoudigt handmatig SMTP-testen in vergelijking met telnet door duidelijke vlaggen, authenticatieverwerking, bijlagen, TLS-testen, timing en aangepaste headers aan te bieden.

    • De tool werkt op meerdere platforms en is gebruiksvriendelijk voor beginners, ondanks zijn uitgebreide mogelijkheden.

    • Basisgebruik omvat het verzenden van een eenvoudig bericht, het toevoegen van onderwerpregels, het opnemen van headers en het verzenden van bijlagen zonder handmatige base64-conversie.

    • SWAKS is ideaal voor betrouwbaarheidstests en monitoring — het kan via cron worden gepland om regelmatige 'werkt het nog steeds?' testverzendingen uit te voeren.

    • Het kan ook latentie en verbindingssnelheid meten door SMTP-handshakes te timen zonder een volledige e-mail te verzenden.

    • SWAKS ondersteunt gedetailleerde TLS-testen, inclusief validatie van compatibiliteit met moderne standaarden zoals TLS 1.2 (vereist door SparkPost).

    • Bij gebruik van SparkPost stelt SWAKS eenvoudig injectie in SparkPost SMTP-servers mogelijk via een API-sleutel voor authenticatie.

    • TLS-versie forcing (bijv. tlsv1_2) stelt verzenders in staat hun omgevingen te testen en te zorgen voor naleving van SparkPost's afschaffingen.

    • SWAKS biedt gedetailleerde debugging, wat handig is voor het valideren van SMTP-configuraties en het diagnosticeren van mislukte verbindingen.

    • Een .swaksrc configuratiebestand stelt gebruikers in staat standaardparameters op te slaan, zodat één opdrachtverzending voor herhaalde tests mogelijk is.

    • SWAKS ondersteunt command-line overrides, waardoor gebruikers elk veld dynamisch kunnen aanpassen wanneer nodig.

Q&A Hoogtepunten

  • Wat is SWAKS?

    Een flexibel SMTP-testtool voor de opdrachtregel, ook bekend als het 'Zwitsers zakmes' voor e-mail.

  • Waarom SWAKS gebruiken in plaats van telnet?

    Het automatiseert de SMTP-handshake, ondersteunt authenticatie, TLS, bijlagen en headers, waardoor testen gemakkelijker en krachtiger wordt.

  • Welke platforms ondersteunt SWAKS?

    Linux, macOS, en de meeste Unix-achtige systemen, met een vergelijkbare syntax tussen hen.

  • Hoe stuur ik een basis test e-mail met SWAKS?

    Door een eenvoudige opdracht uit te voeren waarin de ontvanger, afzender en serveradres worden gespecificeerd.

  • Kan SWAKS berichten verzenden met onderwerpregels en aangepaste headers?

    Ja — het ondersteunt onderwerpen, van/naar overschrijvingen, en willekeurige headerinjectie.

  • Ondersteunt SWAKS het verzenden van bijlagen?

    Ja — en het handelt automatisch de base64-codering voor je af.

  • Kan SWAKS helpen TLS-compatibiliteit testen?

    Absoluut — je kunt specifieke TLS-versies (zoals TLS 1.2) afdwingen of ciphers-ondersteuning testen.

  • Waarom is TLS 1.2 belangrijk bij het verzenden naar SparkPost?

    Oudere TLS-versies zijn verouderd; SparkPost vereist TLS 1.2+ voor beveiligde verbindingen.

  • Hoe kan ik mij authenticeren met SparkPost bij gebruik van SWAKS?

    Door uw SparkPost API-sleutel te gebruiken als het SMTP-wachtwoord tijdens het commando.

  • Kan SWAKS prestaties of latentie meten?

    Ja — met behulp van de time opdracht en gedeeltelijke SMTP-cycli om de handshakesnelheid te meten.

  • Ondersteunt SWAKS automatisering?

    Ja — je kunt het uitvoeren via cronopdrachten om SMTP-omgevingen herhaaldelijk te testen.

  • Wat is een .swaksrc-bestand en waarom zou je het gebruiken?

    Het is een configuratiebestand dat de standaard SWAKS-parameters opslaat, waardoor het verzenden met één commando met optionele overschrijvingen mogelijk is.

Vorig jaar hebben we een blogartikel gepubliceerd dat laat zien hoe je de alomtegenwoordige en zeer nuttige telnet-tool kunt gebruiken om een SMTP-verbinding te controleren.

De volgende stap is om het handmatige proces te vereenvoudigen door gebruik te maken van een geweldig 'next level' gereedschap (het noemt zichzelf het Zwitserse zakmes van e-mail) genaamd SWAKS. Dit is een commandoregelgereedschap dat e-mails via SMTP kan verzenden. Het is niet alleen gemakkelijk te gebruiken maar biedt ook tegelijkertijd een groot aantal opties wanneer dat nodig is.

In het begin was ik geïntimideerd door de hoeveelheid opties, maar het is perfect bruikbaar met de meest basale opties. Als je problemen hebt, markeer dan gewoon deze pagina, kopieer en plak de voorbeelden en pas ze aan naar uw voorkeur. Aan het einde van deze blog, zodra je enige bekendheid hebt en er niet veel variatie/dynamiek zit in je SWAKS-commando's, zal ik je laten zien hoe je een configuratiebestand kunt maken dat alle standaardparameters vooraf instelt. Dit maakt het letterlijk een druk op een knop (OK, 'toets') weg om SWAKS uit te voeren! 

Voor het doel van deze oefening gaan we de commando's uitvoeren vanaf een CentOS 7-server, maar de commando's zijn vergelijkbaar op alle ondersteunde platforms. Zoals hierboven vermeld, als je vastloopt, kopieer en plak dan gewoon direct in je systeem en wijzig wat je nodig hebt. Hier zijn de basisprincipes:

Vorig jaar hebben we een blogartikel gepubliceerd dat laat zien hoe je de alomtegenwoordige en zeer nuttige telnet-tool kunt gebruiken om een SMTP-verbinding te controleren.

De volgende stap is om het handmatige proces te vereenvoudigen door gebruik te maken van een geweldig 'next level' gereedschap (het noemt zichzelf het Zwitserse zakmes van e-mail) genaamd SWAKS. Dit is een commandoregelgereedschap dat e-mails via SMTP kan verzenden. Het is niet alleen gemakkelijk te gebruiken maar biedt ook tegelijkertijd een groot aantal opties wanneer dat nodig is.

In het begin was ik geïntimideerd door de hoeveelheid opties, maar het is perfect bruikbaar met de meest basale opties. Als je problemen hebt, markeer dan gewoon deze pagina, kopieer en plak de voorbeelden en pas ze aan naar uw voorkeur. Aan het einde van deze blog, zodra je enige bekendheid hebt en er niet veel variatie/dynamiek zit in je SWAKS-commando's, zal ik je laten zien hoe je een configuratiebestand kunt maken dat alle standaardparameters vooraf instelt. Dit maakt het letterlijk een druk op een knop (OK, 'toets') weg om SWAKS uit te voeren! 

Voor het doel van deze oefening gaan we de commando's uitvoeren vanaf een CentOS 7-server, maar de commando's zijn vergelijkbaar op alle ondersteunde platforms. Zoals hierboven vermeld, als je vastloopt, kopieer en plak dan gewoon direct in je systeem en wijzig wat je nodig hebt. Hier zijn de basisprincipes:

Vorig jaar hebben we een blogartikel gepubliceerd dat laat zien hoe je de alomtegenwoordige en zeer nuttige telnet-tool kunt gebruiken om een SMTP-verbinding te controleren.

De volgende stap is om het handmatige proces te vereenvoudigen door gebruik te maken van een geweldig 'next level' gereedschap (het noemt zichzelf het Zwitserse zakmes van e-mail) genaamd SWAKS. Dit is een commandoregelgereedschap dat e-mails via SMTP kan verzenden. Het is niet alleen gemakkelijk te gebruiken maar biedt ook tegelijkertijd een groot aantal opties wanneer dat nodig is.

In het begin was ik geïntimideerd door de hoeveelheid opties, maar het is perfect bruikbaar met de meest basale opties. Als je problemen hebt, markeer dan gewoon deze pagina, kopieer en plak de voorbeelden en pas ze aan naar uw voorkeur. Aan het einde van deze blog, zodra je enige bekendheid hebt en er niet veel variatie/dynamiek zit in je SWAKS-commando's, zal ik je laten zien hoe je een configuratiebestand kunt maken dat alle standaardparameters vooraf instelt. Dit maakt het letterlijk een druk op een knop (OK, 'toets') weg om SWAKS uit te voeren! 

Voor het doel van deze oefening gaan we de commando's uitvoeren vanaf een CentOS 7-server, maar de commando's zijn vergelijkbaar op alle ondersteunde platforms. Zoals hierboven vermeld, als je vastloopt, kopieer en plak dan gewoon direct in je systeem en wijzig wat je nodig hebt. Hier zijn de basisprincipes:

Installeer 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

Uw eerste e-mail verzenden met SWAKS

Nadat het is geïnstalleerd, volgt hier de basis syntaxis om een bericht te verzenden. In dit voorbeeld gebruiken we het lokale adres van de server:


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


Verzend een bericht met een "Onderwerp" regelheader + andere headers en voeg vervolgens een "Hello World!" tekst toe in de hoofdtekst:


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


Hier is hoe je een bijlage toevoegt, waarbij SWAKS de base64-conversie voor je doet, geweldig om de grootte limieten van berichten te testen:


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

Nadat het is geïnstalleerd, volgt hier de basis syntaxis om een bericht te verzenden. In dit voorbeeld gebruiken we het lokale adres van de server:


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


Verzend een bericht met een "Onderwerp" regelheader + andere headers en voeg vervolgens een "Hello World!" tekst toe in de hoofdtekst:


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


Hier is hoe je een bijlage toevoegt, waarbij SWAKS de base64-conversie voor je doet, geweldig om de grootte limieten van berichten te testen:


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

Nadat het is geïnstalleerd, volgt hier de basis syntaxis om een bericht te verzenden. In dit voorbeeld gebruiken we het lokale adres van de server:


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


Verzend een bericht met een "Onderwerp" regelheader + andere headers en voeg vervolgens een "Hello World!" tekst toe in de hoofdtekst:


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


Hier is hoe je een bijlage toevoegt, waarbij SWAKS de base64-conversie voor je doet, geweldig om de grootte limieten van berichten te testen:


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

Geavanceerde SWAKS-testtechnieken

Je hebt de basis vrijwel onder de knie! Laten we nu kijken hoe je je setup nog verder kunt verbeteren. Hier zijn enkele ideeën:

  • Gebruik een planner zoals chron om basis 'werkt het'-tests uit te voeren, die als basis kunnen dienen of zelfs je monitoringssysteem kunnen aanvullen.

  • Meet de latentie bij het verbinden met en het sluiten van een verbinding met een mailserver.

  • Test verschillende TLS-versies en ciphers

Je zult hier niet alleen worden gelaten, ik zal je laten zien hoe je al het bovenstaande doet.

Je hebt de basis vrijwel onder de knie! Laten we nu kijken hoe je je setup nog verder kunt verbeteren. Hier zijn enkele ideeën:

  • Gebruik een planner zoals chron om basis 'werkt het'-tests uit te voeren, die als basis kunnen dienen of zelfs je monitoringssysteem kunnen aanvullen.

  • Meet de latentie bij het verbinden met en het sluiten van een verbinding met een mailserver.

  • Test verschillende TLS-versies en ciphers

Je zult hier niet alleen worden gelaten, ik zal je laten zien hoe je al het bovenstaande doet.

Je hebt de basis vrijwel onder de knie! Laten we nu kijken hoe je je setup nog verder kunt verbeteren. Hier zijn enkele ideeën:

  • Gebruik een planner zoals chron om basis 'werkt het'-tests uit te voeren, die als basis kunnen dienen of zelfs je monitoringssysteem kunnen aanvullen.

  • Meet de latentie bij het verbinden met en het sluiten van een verbinding met een mailserver.

  • Test verschillende TLS-versies en ciphers

Je zult hier niet alleen worden gelaten, ik zal je laten zien hoe je al het bovenstaande doet.

SWAKS gebruiken met SparkPost SMTP

Deze keer gaan we injecteren in onze SparkPost-servers.

Stuur een bericht naar onze SparkPost-servers (Hoe een API-sleutel aan te maken, en de SMTP-opties). Zodra je je authenticatiesleutel hebt, plak deze dan in het commando (zorg ervoor dat de sleutel veilig en beveiligd blijft!):


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

Als je op zoek bent naar begeleiding over hoe je problemen kunt oplossen bij het verzenden via SMTP naar onze servers, bekijk dan ons artikel voor het oplossen van SMTP-problemen. Voor basis SMTP verbindingstesten, kun je ook SMTP-verbindingen verifiëren met behulp van handmatige telnet-sessies.

TLS-versies en cipher compatibiliteit testen

In navolging van de beste beveiligingspraktijken heeft SparkPost alle oudere TLS-versies uitgefaseerd behalve v1.2 en hoger. Als je wilt zien of je systeem compatibel is, kun je met SWAKS specifieke TLS-versies en ciphers testen.


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 dit voorbeeld gebruiken we “tlsv1_2” maar verander dat gerust naar “tlsv1_1” en gebruik het op andere domeinen om hun compatibiliteit te observeren.

SMTP-verbindinglatentie meten

Wat als je wilt timen hoe snel een mailserver reageert? SWAKS kan door de SMTP-cyclus gaan en op sommige punten loskoppelen zonder een bericht te verzenden, en je kunt het timen met het “time” commando dat aan het einde van de uitvoer wordt weergegeven:


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

Deze keer gaan we injecteren in onze SparkPost-servers.

Stuur een bericht naar onze SparkPost-servers (Hoe een API-sleutel aan te maken, en de SMTP-opties). Zodra je je authenticatiesleutel hebt, plak deze dan in het commando (zorg ervoor dat de sleutel veilig en beveiligd blijft!):


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

Als je op zoek bent naar begeleiding over hoe je problemen kunt oplossen bij het verzenden via SMTP naar onze servers, bekijk dan ons artikel voor het oplossen van SMTP-problemen. Voor basis SMTP verbindingstesten, kun je ook SMTP-verbindingen verifiëren met behulp van handmatige telnet-sessies.

TLS-versies en cipher compatibiliteit testen

In navolging van de beste beveiligingspraktijken heeft SparkPost alle oudere TLS-versies uitgefaseerd behalve v1.2 en hoger. Als je wilt zien of je systeem compatibel is, kun je met SWAKS specifieke TLS-versies en ciphers testen.


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 dit voorbeeld gebruiken we “tlsv1_2” maar verander dat gerust naar “tlsv1_1” en gebruik het op andere domeinen om hun compatibiliteit te observeren.

SMTP-verbindinglatentie meten

Wat als je wilt timen hoe snel een mailserver reageert? SWAKS kan door de SMTP-cyclus gaan en op sommige punten loskoppelen zonder een bericht te verzenden, en je kunt het timen met het “time” commando dat aan het einde van de uitvoer wordt weergegeven:


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

Deze keer gaan we injecteren in onze SparkPost-servers.

Stuur een bericht naar onze SparkPost-servers (Hoe een API-sleutel aan te maken, en de SMTP-opties). Zodra je je authenticatiesleutel hebt, plak deze dan in het commando (zorg ervoor dat de sleutel veilig en beveiligd blijft!):


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

Als je op zoek bent naar begeleiding over hoe je problemen kunt oplossen bij het verzenden via SMTP naar onze servers, bekijk dan ons artikel voor het oplossen van SMTP-problemen. Voor basis SMTP verbindingstesten, kun je ook SMTP-verbindingen verifiëren met behulp van handmatige telnet-sessies.

TLS-versies en cipher compatibiliteit testen

In navolging van de beste beveiligingspraktijken heeft SparkPost alle oudere TLS-versies uitgefaseerd behalve v1.2 en hoger. Als je wilt zien of je systeem compatibel is, kun je met SWAKS specifieke TLS-versies en ciphers testen.


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 dit voorbeeld gebruiken we “tlsv1_2” maar verander dat gerust naar “tlsv1_1” en gebruik het op andere domeinen om hun compatibiliteit te observeren.

SMTP-verbindinglatentie meten

Wat als je wilt timen hoe snel een mailserver reageert? SWAKS kan door de SMTP-cyclus gaan en op sommige punten loskoppelen zonder een bericht te verzenden, en je kunt het timen met het “time” commando dat aan het einde van de uitvoer wordt weergegeven:


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

Automatiseren van SWAKS met een configuratiebestand

Zoals beloofd, als je zover bent gekomen, is de beloning dit eenvoudige manier om een configuratiebestand te maken om standaardparameters in te stellen:


$ cd $HOME
$ vim .swaksrc


Kopieer en plak dit in het .swaksrc-bestand:


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


Zodra je het hebt opgeslagen, typ je gewoon "swaks" en het vult alles vooraf in en stuurt het vrolijk op weg! Nog beter, je kunt het overschrijven door het toe te voegen aan de opdrachtregel, bijvoorbeeld als je een andere ontvanger wilt:


swaks -t recipient@somewherelse.com

Zoals beloofd, als je zover bent gekomen, is de beloning dit eenvoudige manier om een configuratiebestand te maken om standaardparameters in te stellen:


$ cd $HOME
$ vim .swaksrc


Kopieer en plak dit in het .swaksrc-bestand:


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


Zodra je het hebt opgeslagen, typ je gewoon "swaks" en het vult alles vooraf in en stuurt het vrolijk op weg! Nog beter, je kunt het overschrijven door het toe te voegen aan de opdrachtregel, bijvoorbeeld als je een andere ontvanger wilt:


swaks -t recipient@somewherelse.com

Zoals beloofd, als je zover bent gekomen, is de beloning dit eenvoudige manier om een configuratiebestand te maken om standaardparameters in te stellen:


$ cd $HOME
$ vim .swaksrc


Kopieer en plak dit in het .swaksrc-bestand:


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


Zodra je het hebt opgeslagen, typ je gewoon "swaks" en het vult alles vooraf in en stuurt het vrolijk op weg! Nog beter, je kunt het overschrijven door het toe te voegen aan de opdrachtregel, bijvoorbeeld als je een andere ontvanger wilt:


swaks -t recipient@somewherelse.com

Andere nieuws

Lees meer uit deze categorie

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

Het complete AI-native platform dat met uw bedrijf meegroeit.

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

Het complete AI-native platform dat met uw bedrijf meegroeit.