Comment utiliser SWAKS avec SparkPost

Comment utiliser SWAKS avec SparkPost

Comment utiliser SWAKS avec SparkPost

Jun 24, 2021

Publié par

Publié par

Bird

Bird

-

Catégorie :

Catégorie :

Courriel :

Courriel :

Ready to see Bird
in action?

Ready to see Bird
in action?

How to Use SWAKS with SparkPost

L'année dernière, nous avons publié un article de blog qui montre comment utiliser l'outil omniprésent et très utile telnet pour vérifier une connexion SMTP.

Le 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 options 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 ce 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 pré-réglages all your defaults parameters. This makes running SWAKS literally a button (OK, “key”) away! 

Pour les besoins de cet exercice, nous allons exécuter les commandes à partir d'un serveur CentOS 7 mais les commandes sont similaires sur toutes les plateformes prises en charge. Comme mentionné ci-dessus, si vous êtes bloqué, il suffit de copier et coller directement dans votre système et de modifier ce dont vous avez besoin. Voici les éléments de base :


Installer

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

Une fois installé, voici la syntaxe de base pour envoyer un message. Dans cet exemple, nous utilisons l'adresse locale du serveur :

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

Envoyez un message avec un en-tête de ligne "Subject" + d'autres en-têtes, puis incluez un texte "Hello World !" dans le corps du message :

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --header "Subject : Bonjour ! Ceci est l'en-tête du sujet\Second_header:123\nThird_Header:XYZ" --body "Hello World !"

Voici comment ajouter une pièce jointe, SWAKS effectuant la conversion base64 pour vous, ce qui est idéal pour tester les limites de taille des messages :

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

Vous êtes à peu près au point sur les bases ! Voyons maintenant comment vous pouvez encore améliorer votre jeu d'installation. Voici quelques idées :

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

  • Mesurez la latence lors de la connexion et de la fermeture d'une connexion à un serveur de messagerie.

  • Tester différentes versions de TLS et de chiffrement

Vous n'allez pas être laissé seul ici, je vais vous montrer comment faire tout ce qui précède. Cette fois-ci, nous allons injecter dans nos serveurs SparkPost.


Send a message to our SparkPost servers (How to créer la clé API ici, 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 [your auth key] -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 toutes les anciennes versions de TLS, sauf la v1.2 et les versions supérieures. 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

Dans cet exemple, nous utilisons "tlsv1_2" mais allez-y et changez cela en "tlsv1_1" et utilisez-le sur d'autres domaines pour observer leur compatibilité.

What if you want to temps 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


Comme promis, si vous êtes arrivé jusqu'ici, la récompense est simple : un fichier de configuration pour définir les paramètres par défaut :


$ 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

Une fois que vous l'avez enregistré, tapez simplement "swaks" et il pré-remplit tout et l'envoie sur son chemin joyeux ! Mieux encore, vous pouvez passer outre en l'ajoutant sur la ligne de commande, par exemple si vous voulez un autre destinataire :


swaks -t recipient@somewherelse.com

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

Le right message -> à la right person -> au right time.

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

The right message -> à la right person -> au right time.