Product

Solutions

Resources

Company

Product

Solutions

Resources

Company

Comment utiliser SWAKS avec SparkPost

Oiseau

24 juin 2021

Email

1 min read

Comment utiliser SWAKS avec SparkPost

Oiseau

24 juin 2021

Email

1 min read

Comment utiliser SWAKS avec SparkPost

Ceci est un outil en ligne de commande qui peut envoyer des e-mails via SMTP. Il est non seulement facile à utiliser, mais propose également une multitude d'options lorsque nécessaire.

Business in a box.

Découvrez nos solutions.

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

La prochaine étape consiste à simplifier le processus manuel en utilisant un outil « de niveau supérieur » génial (il se réfère à lui-même comme le couteau suisse de l'email) appelé SWAKS. C'est un outil en ligne de commande qui peut envoyer des emails via SMTP. Il est non seulement facile à utiliser, mais offre également simultanément une myriade d'options lorsque cela est nécessaire.

Au début, j'étais intimidé par la quantité d'options, mais il est parfaitement utilisable avec les options les plus basiques. Si vous avez des problèmes, il suffit de mettre cette page dans vos favoris, de copier et coller les exemples, et de les modifier à votre guise. À la fin de ce blog, une fois que vous aurez acquis une certaine familiarité et ne rencontrerez pas beaucoup de variance/dynamique dans vos commandes SWAKS, je vous montrerai comment créer un fichier de configuration qui prédéfinit tous vos paramètres par défaut. Cela rend l'exécution de SWAKS littéralement à un bouton (OK, « touche ») de distance ! 

Dans le cadre de cet exercice, nous allons exécuter les commandes depuis 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 bases :

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 une ligne d'en-tête "Subject" + d'autres en-têtes, puis incluez un texte "Hello World!" dans le corps :

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

Voici comment ajouter une pièce jointe, où SWAKS effectue la conversion base64 pour vous, idéal pour tester les limites de taille de message :

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

Vous êtes assez bien couvert sur les bases ! Voyons maintenant comment vous pouvez améliorer votre configuration de jeu. Voici quelques idées :

  • Utilisez un planificateur comme chron pour effectuer des tests de base « est-ce que ça fonctionne », qui peuvent servir de fondation ou même compléter votre système de surveillance.

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

  • Testez différentes versions de TLS et chiffrements

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

Envoyez un message à nos serveurs SparkPost (Comment créer la clé API, et les options SMTP). Une fois que vous avez votre clé d'authentification, collez-la dans la commande (assurez-vous de garder la clé sûre et sécurisée !) :

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

Si vous cherchez des conseils sur comment résoudre les problèmes d'envoi via SMTP à nos serveurs, consultez notre article de dépannage SMTP. Pour des tests de connexion SMTP de base, vous pouvez également vérifier les connexions SMTP en utilisant des sessions telnet manuelles.

En écho aux meilleures pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions de TLS excepté la v1.2 et au-delà. Si vous voulez voir si votre système est compatible, SWAKS vous permet de tester des versions spécifiques de TLS et chiffres.

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

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

Que faire si vous voulez chronométrer la rapidité à laquelle un serveur de messagerie répond ? SWAKS peut parcourir le cycle SMTP et se désengager à certains points sans envoyer de message, et vous pouvez le chronométrer à l'aide de la commande « time » qui s'affiche à la fin de la sortie :

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

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

$ cd $HOME
$ vim .swaksrc

Copiez et collez ceci dans le fichier .swaksrc :

--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 tout se remplit automatiquement et s'envoie joyeusement ! Encore mieux, vous pouvez le remplacer en l'ajoutant sur la ligne de commande, par exemple si vous voulez un destinataire différent :

swaks -t recipient@somewherelse.com
A person is standing at a desk while typing on a laptop.

La plateforme AI-native complète qui évolue avec votre business.

Product

Solutions

Resources

Company

Paramètres de confidentialité

À venir bientôt

Social

Newsletter

Restez à jour avec Bird grâce aux mises à jour hebdomadaires dans votre boîte de réception.

S'inscrire

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

La plateforme AI-native complète qui évolue avec votre business.

Product

Solutions

Resources

Company

Paramètres de confidentialité

Social

Newsletter

Restez à jour avec Bird grâce aux mises à jour hebdomadaires dans votre boîte de réception.

S'inscrire