Comment utiliser SWAKS avec SparkPost

Oiseau

24 juin 2021

Email

1 min read

Comment utiliser SWAKS avec SparkPost

Points Clés

    • SWAKS (Swiss Army Knife for SMTP) est un outil en ligne de commande puissant pour envoyer des e-mails et tester les connexions SMTP de manière flexible et compatible avec les scripts.

    • Il simplifie les tests manuels SMTP comparé à telnet en offrant des indicateurs clairs, une gestion de l'authentification, des pièces jointes, des tests TLS, le timing et des en-têtes personnalisés.

    • L'outil fonctionne sur plusieurs plateformes et est convivial pour les débutants malgré ses capacités étendues.

    • L'utilisation de base inclut l'envoi d'un message simple, l'ajout de lignes d'objet, l'inclusion d'en-têtes et l'envoi de pièces jointes sans conversion manuelle en base64.

    • SWAKS est idéal pour les vérifications de fiabilité et le suivi — il peut être programmé via cron pour effectuer des tests réguliers de type "est-ce que ça fonctionne encore ?".

    • Il peut également mesurer la latence et la vitesse de connexion en chronométrant les handshakes SMTP sans envoyer un e-mail complet.

    • SWAKS prend en charge des tests TLS détaillés, y compris la validation de la compatibilité avec les normes modernes telles que TLS 1.2 (requis par SparkPost).

    • Lors de l'utilisation de SparkPost, SWAKS permet une injection facile dans les serveurs SMTP SparkPost en utilisant une clé API pour l'authentification.

    • La forçage de version TLS (e.g., tlsv1_2) permet aux expéditeurs de tester leurs environnements et garantir la conformité avec les dépréciations de SparkPost.

    • SWAKS fournit un débogage détaillé, ce qui le rend utile pour valider les configurations SMTP et diagnostiquer les connexions échouées.

    • Un fichier de configuration .swaksrc permet aux utilisateurs de stocker des paramètres par défaut, facilitant l'envoi avec une seule commande pour des tests répétés.

    • SWAKS prend en charge les modifications en ligne de commande, permettant aux utilisateurs d'ajuster dynamiquement n'importe quel champ en cas de besoin.

Points forts des Q&A

  • Qu'est-ce que SWAKS ?

    Un outil de test SMTP en ligne de commande flexible connu comme le « Couteau suisse » pour les emails.

  • Pourquoi utiliser SWAKS au lieu de telnet ?

    Il automatise la poignée de main SMTP, prend en charge l'authentification, TLS, les pièces jointes et les en-têtes, rendant les tests plus faciles et plus puissants.

  • Quelles plateformes SWAKS supporte-t-il ?

    Linux, macOS, et la plupart des systèmes de type Unix, avec une syntaxe similaire entre eux.

  • Comment envoyer un email de test basique avec SWAKS ?

    En exécutant une commande simple spécifiant le destinataire, l'expéditeur et l'adresse du serveur.

  • Peut SWAKS envoyer des messages avec des lignes d'objet et des en-têtes personnalisés ?

    Oui — il prend en charge les sujets, les remplacements de l'expéditeur/destinataire, et l'injection arbitraire de l'en-tête.

  • SWAKS prend-il en charge l'envoi de pièces jointes ?

    Oui — et il gère automatiquement le codage en base64 pour vous.

  • SWAKS peut-il aider à tester la compatibilité TLS ?

    Absolument — vous pouvez forcer des versions TLS spécifiques (comme TLS 1.2) ou tester la prise en charge des suites de chiffrements.

  • Pourquoi TLS 1.2 est-il important lors de l'envoi à SparkPost ?

    Les anciennes versions de TLS sont obsolètes ; SparkPost nécessite TLS 1.2+ pour des connexions sécurisées.

  • Comment authentifier avec SparkPost lorsque vous utilisez SWAKS ?

    En utilisant votre clé API SparkPost comme mot de passe SMTP pendant la commande.

  • Can SWAKS mesurer la performance ou la latence ?

    Oui — en utilisant la commande time et des cycles SMTP partiels pour mesurer la vitesse de la poignée de main.

  • SWAKS supporte-t-il l'automatisation ?

    Oui — vous pouvez l'exécuter via des tâches cron pour tester de manière répétée les environnements SMTP.

  • Qu'est-ce qu'un fichier .swaksrc et pourquoi l'utiliser ?

    C'est un fichier de configuration stockant les paramètres SWAKS par défaut, permettant l'envoi en une seule commande avec des remplacements optionnels.

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 :

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 :

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 :

Installez SWAKS

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

Envoyer votre premier email avec SWAKS

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


Envoyer un message avec une ligne d'en-tête "Subject" + d'autres en-têtes, puis inclure 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 des messages :


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

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


Envoyer un message avec une ligne d'en-tête "Subject" + d'autres en-têtes, puis inclure 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 des messages :


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

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


Envoyer un message avec une ligne d'en-tête "Subject" + d'autres en-têtes, puis inclure 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 des messages :


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

Techniques avancées de testing SWAKS

Vous avez à peu près maîtrisé les bases ! Voyons maintenant comment vous pouvez améliorer encore votre configuration. 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 déconnexion d'un serveur de messagerie.

  • Testez différentes versions TLS et chiffrements

Vous ne serez pas seul ici, je vais vous montrer comment faire tout ce qui précède.

Vous avez à peu près maîtrisé les bases ! Voyons maintenant comment vous pouvez améliorer encore votre configuration. 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 déconnexion d'un serveur de messagerie.

  • Testez différentes versions TLS et chiffrements

Vous ne serez pas seul ici, je vais vous montrer comment faire tout ce qui précède.

Vous avez à peu près maîtrisé les bases ! Voyons maintenant comment vous pouvez améliorer encore votre configuration. 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 déconnexion d'un serveur de messagerie.

  • Testez différentes versions TLS et chiffrements

Vous ne serez pas seul ici, je vais vous montrer comment faire tout ce qui précède.

Utilisation de SWAKS avec SparkPost SMTP

Cette fois, nous allons 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é en sécurité !) :


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 la manière de résoudre les problèmes d'envoi par SMTP vers nos serveurs, consultez notre article de dépannage SMTP. Pour tester de base la connexion SMTP, vous pouvez aussi vérifier les connexions SMTP en utilisant les sessions telnet manuelles.

Tester les versions TLS et la compatibilité des chiffrements

Dans le respect des bonnes pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions de TLS sauf la v1.2 et supérieure. Si vous souhaitez vérifier la compatibilité de votre système, SWAKS vous permet de tester des versions et des chiffrements TLS spécifiques.


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 n'hésitez pas à le changer pour "tlsv1_1" et l'utiliser sur d'autres domaines pour observer leur compatibilité.

Mesurer la latence des connexions SMTP

Que faire si vous voulez chronométrer la vitesse de réponse d'un serveur de messagerie ? SWAKS peut parcourir le cycle SMTP et se désengager à certains points sans envoyer de message, et vous pouvez le chronométrer en utilisant 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
<

Cette fois, nous allons 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é en sécurité !) :


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 la manière de résoudre les problèmes d'envoi par SMTP vers nos serveurs, consultez notre article de dépannage SMTP. Pour tester de base la connexion SMTP, vous pouvez aussi vérifier les connexions SMTP en utilisant les sessions telnet manuelles.

Tester les versions TLS et la compatibilité des chiffrements

Dans le respect des bonnes pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions de TLS sauf la v1.2 et supérieure. Si vous souhaitez vérifier la compatibilité de votre système, SWAKS vous permet de tester des versions et des chiffrements TLS spécifiques.


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 n'hésitez pas à le changer pour "tlsv1_1" et l'utiliser sur d'autres domaines pour observer leur compatibilité.

Mesurer la latence des connexions SMTP

Que faire si vous voulez chronométrer la vitesse de réponse d'un serveur de messagerie ? SWAKS peut parcourir le cycle SMTP et se désengager à certains points sans envoyer de message, et vous pouvez le chronométrer en utilisant 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
<

Cette fois, nous allons 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é en sécurité !) :


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 la manière de résoudre les problèmes d'envoi par SMTP vers nos serveurs, consultez notre article de dépannage SMTP. Pour tester de base la connexion SMTP, vous pouvez aussi vérifier les connexions SMTP en utilisant les sessions telnet manuelles.

Tester les versions TLS et la compatibilité des chiffrements

Dans le respect des bonnes pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions de TLS sauf la v1.2 et supérieure. Si vous souhaitez vérifier la compatibilité de votre système, SWAKS vous permet de tester des versions et des chiffrements TLS spécifiques.


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 n'hésitez pas à le changer pour "tlsv1_1" et l'utiliser sur d'autres domaines pour observer leur compatibilité.

Mesurer la latence des connexions SMTP

Que faire si vous voulez chronométrer la vitesse de réponse d'un serveur de messagerie ? SWAKS peut parcourir le cycle SMTP et se désengager à certains points sans envoyer de message, et vous pouvez le chronométrer en utilisant 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
<

Automatiser SWAKS avec un fichier de configuration

Comme promis, si vous êtes arrivé jusqu'ici, la récompense est aussi simple que de chanter un fichier de configuration pour définir les 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é, il suffit de taper « swaks » et tout se pré-remplit et se lance sur son chemin joyeux ! 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

Comme promis, si vous êtes arrivé jusqu'ici, la récompense est aussi simple que de chanter un fichier de configuration pour définir les 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é, il suffit de taper « swaks » et tout se pré-remplit et se lance sur son chemin joyeux ! 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

Comme promis, si vous êtes arrivé jusqu'ici, la récompense est aussi simple que de chanter un fichier de configuration pour définir les 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é, il suffit de taper « swaks » et tout se pré-remplit et se lance sur son chemin joyeux ! 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

Autres news

Lire la suite de cette catégorie

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

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

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

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