Product

Oplossingen

Resources

Company

Product

Oplossingen

Resources

Company

Hoe SWAKS te gebruiken met SparkPost

Bird

24 jun 2021

E-mail

1 min read

Hoe SWAKS te gebruiken met SparkPost

Dit is een opdrachtregeltool die e-mails kan verzenden via SMTP. Het is niet alleen gemakkelijk te gebruiken, maar biedt ook tegelijkertijd een veelheid aan opties wanneer dat nodig 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:

Installeren

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

Eenmaal geïnstalleerd, hier is de basis syntaxis om een bericht te sturen. 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

Stuur een bericht met een "Subject" regelkop + andere headers en voeg vervolgens een "Hello World!" tekst toe in de body:

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 uitvoert, geweldig voor het testen van berichtgrootte limieten:

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

Je bent vrijwel klaar met de basisprincipes! Laten we nu kijken hoe je je set-up game kunt vergroten. Hier zijn enkele ideeën:

  • Gebruik een scheduler zoals chron om basis 'werkt het' tests uit te voeren die als fundament kunnen dienen of zelfs je bewakingssysteem kunnen uitbreiden.

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

  • Test verschillende TLS-versies en ciphers

Je wordt hier niet alleen gelaten, ik zal je laten zien hoe je al het bovenstaande moet doen. Deze keer gaan we injecteren in onze SparkPost-servers.

Stuur een bericht naar onze SparkPost-servers (Hoe je de API-sleutel aanmaakt, en de SMTP-opties). Nadat je je authenticatiesleutel hebt gekregen, plak je deze in de opdracht (zorg ervoor dat je de sleutel veilig en beveiligd bewaart!):

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 oplost bij het versturen via SMTP naar onze servers, bekijk dan ons SMTP-probleemoplossingsartikel. Voor basistests van SMTP-verbindingen kun je ook SMTP-verbindingen verifiëren met handmatige telnet-sessies.

Ter aanvulling 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 ga je gang en verander dat in “tlsv1_1” en gebruik het op andere domeinen om hun compatibiliteit te observeren.

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

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

Zoals beloofd, als je het tot hier hebt gehaald, is de beloning deze eenvoudige zing een configuratiebestand 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

Als je het eenmaal hebt opgeslagen, typ gewoon "swaks" en het vult alles vooraf in en stuurt het op weg! Nog beter, je kunt het overschrijven door het toe te voegen in de commandoregel, 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.

Product

Oplossingen

Resources

Binnenkort beschikbaar

Sociaal

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Signup

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

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

Product

Oplossingen

Resources

Sociaal

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Signup