
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
Eenmaal geïnstalleerd, hier is de basis syntaxis om een bericht te sturen. In dit voorbeeld gebruiken we het lokale adres van de server:
Stuur een bericht met een "Subject" regelkop + andere headers en voeg vervolgens een "Hello World!" tekst toe in de body:
Hier is hoe je een bijlage toevoegt, waarbij SWAKS de base64-conversie voor je uitvoert, geweldig voor het testen van berichtgrootte limieten:
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!):
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.
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:
Zoals beloofd, als je het tot hier hebt gehaald, is de beloning deze eenvoudige zing een configuratiebestand om standaardparameters in te stellen:
Kopieer en plak dit in het .swaksrc-bestand:
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: