Hur man använder SWAKS med SparkPost

Hur man använder SWAKS med SparkPost

Hur man använder SWAKS med SparkPost

Jun 24, 2021

Publicerad av

Publicerad av

Bird

Bird

Kategori:

Kategori:

E-post

E-post

Ready to see Bird
in action?

Ready to see Bird
in action?

How to Use SWAKS with SparkPost

Förra året publicerade vi en bloggartikel som visar hur man använder det allestädes närvarande och mycket användbara telnet-verktyget för att kontrollera en SMTP-anslutning.

Den next step is to simplify the manual process by using an awesome “next level” tool (it refers to itself as the Swiss Army Knife of email) called SWAKS. This is a command line tool that can send emails via SMTP. It’s not only easy to use but also simultaneously provides a myriad of alternativ when needed.

At first, I was intimidated by the amount of options, but it is perfectly usable with the most basic options. If you have any issues, just bookmark detta page, copy and paste the examples, and modify it to your liking. At the end of this blog, once you have gained some familiarity and don’t have a lot of variance/dynamics to your SWAKS commands, I will show you how to create a configuration file that förinställningar all your defaults parameters. This makes running SWAKS literally a button (OK, “key”) away! 

I den här övningen kommer vi att köra kommandona från en CentOS 7-server, men kommandona är liknande på alla plattformar som stöds. Som nämnts ovan är det bara att kopiera och klistra in direkt i ditt system och ändra det du behöver om du kör fast. Här är grunderna:


Installera

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

Efter installationen följer här den grundläggande syntaxen för att skicka ett meddelande. I det här exemplet använder vi serverns lokala adress:

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

Skicka ett meddelande med en "Subject"-rubrik + andra rubriker och inkludera sedan en "Hello World!"-text i brödtexten:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --header "Subject: Hej! Detta är ämnesrubriken\Second_header:123\nThird_Header:XYZ" --body "Hej världen!"

Så här lägger du till en bilaga, där SWAKS gör base64-konverteringen åt dig, perfekt för att testa gränser för meddelandestorlek:

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

Nu är du i stort sett klar med grunderna! Nu ska vi se hur du kan förbättra dina inställningar. Här är några idéer:

  • Use a scheduler like chron to do basic ‘does it work’ tests which can work as a foundation  or even augment your monitoring system.

  • Mät latens när du ansluter och stänger en anslutning till en e-postserver.

  • Testa olika TLS-versioner och chiffer

Du kommer inte att lämnas ensam här, jag kommer att visa dig hur man gör allt ovan. Den här gången ska vi injicera i våra SparkPost-servrar.


Send a message to our SparkPost servers (How to skapa API-nyckeln här, and the SMTP options).Once you get your authentication key, paste it into the command (make sure to keep the key safe and secure!) :

swaks -server smtp.sparkpostmail.com:587 -tls --auth-user SMTP_Injection --auth-password [din auth-nyckel] -f me@from.com -t them@recipient.com

If you’re looking for guidance on how to troubleshoot sending via SMTP to our servers check out this article.

Echoing best security practices, SparkPost has deprecated alla äldre TLS-versioner utom v1.2 och högre. If you want to see if your system is compatible, SWAKS allows you to test specific TLS versions and ciphers.

swaks -s smtp.sparkpostmail.com -tls  -p 587 -f me@from.com -t them@recipient.com -tlsp tlsv1_2 --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

I det här exemplet använder vi "tlsv1_2" men gå vidare och ändra det till "tlsv1_1" och använd det på andra domäner för att se om de är kompatibla.

What if you want to tid how fast a mail server responds? SWAKS can go through the SMTP cycle and disengage at some points without sending a message, and you can time it using the “time” command which shows at end of 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 <-  221 2.0.0 v1pmta5.jasdevism.com says goodbye === Connection closed with remote host. real 0m0.049s user 0m0.038s sys 0m0.009s


Som utlovat, om du klarade dig så här långt är belöningen så här enkel sing en konfigurationsfil för att ställa in standardparametrar:


$ Cd $HOME $ vim .swaksrc  # Copy and paste this into the file into the .swaksrc file --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

När du har sparat det skriver du bara "swaks" så fylls allt i i förväg och skickas iväg! Ännu bättre är att du kan åsidosätta genom att lägga till det på kommandoraden, om du till exempel vill ha en annan mottagare:


swaks -t recipient@somewherelse.com

Your new standard in Marketing, Betalningar & Sales. It's Bird

Den right message -> till right person -> vid right time.

Your new standard in Marketing, Betalningar & Sales. It's Bird

The right message -> till right person -> vid right time.