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.

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.

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 :

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 et 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 fait la conversion en base64 pour vous, idéal pour tester les limites de taille du message:

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

Vous êtes plutôt bien préparé sur les bases ! Maintenant, voyons comment vous pouvez améliorer votre configuration. Voici quelques idées :

  • Utilisez un programme de planification comme chron pour effectuer des tests basiques 'fonctionne-t-il' qui peuvent servir de fondation ou même augmenter 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 TLS et chiffreurs

Vous ne serez pas laissé seul ici, je vous montrerai comment faire tout ce qui précède. 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é 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 la façon de résoudre les problèmes d'envoi via SMTP à nos serveurs, consultez notre article de dépannage SMTP. Pour les tests de connexion SMTP de base, vous pouvez également vérifier les connexions SMTP en utilisant des sessions telnet manuelles.

En répétant les meilleures pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions TLS sauf la v1.2 et ultérieures. Si vous voulez voir si votre système est compatible, SWAKS vous permet de tester des versions TLS et chiffreurs 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 à changer cela en "tlsv1_1" et à l'utiliser sur d'autres domaines pour observer leur compatibilité.

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

Comme promis, si vous êtes arrivé jusqu'ici la récompense est ce simple 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 enregistré, tapez simplement “swaks“ et il pré-remplit tout et l'envoie joyeusement ! Encore mieux, vous pouvez le remplacer en l'ajoutant sur la ligne de commande, par exemple si vous souhaitez un destinataire différent:

swaks -t recipient@somewherelse.com
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 et 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 fait la conversion en base64 pour vous, idéal pour tester les limites de taille du message:

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

Vous êtes plutôt bien préparé sur les bases ! Maintenant, voyons comment vous pouvez améliorer votre configuration. Voici quelques idées :

  • Utilisez un programme de planification comme chron pour effectuer des tests basiques 'fonctionne-t-il' qui peuvent servir de fondation ou même augmenter 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 TLS et chiffreurs

Vous ne serez pas laissé seul ici, je vous montrerai comment faire tout ce qui précède. 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é 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 la façon de résoudre les problèmes d'envoi via SMTP à nos serveurs, consultez notre article de dépannage SMTP. Pour les tests de connexion SMTP de base, vous pouvez également vérifier les connexions SMTP en utilisant des sessions telnet manuelles.

En répétant les meilleures pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions TLS sauf la v1.2 et ultérieures. Si vous voulez voir si votre système est compatible, SWAKS vous permet de tester des versions TLS et chiffreurs 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 à changer cela en "tlsv1_1" et à l'utiliser sur d'autres domaines pour observer leur compatibilité.

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

Comme promis, si vous êtes arrivé jusqu'ici la récompense est ce simple 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 enregistré, tapez simplement “swaks“ et il pré-remplit tout et l'envoie joyeusement ! Encore mieux, vous pouvez le remplacer en l'ajoutant sur la ligne de commande, par exemple si vous souhaitez un destinataire différent:

swaks -t recipient@somewherelse.com
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 et 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 fait la conversion en base64 pour vous, idéal pour tester les limites de taille du message:

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

Vous êtes plutôt bien préparé sur les bases ! Maintenant, voyons comment vous pouvez améliorer votre configuration. Voici quelques idées :

  • Utilisez un programme de planification comme chron pour effectuer des tests basiques 'fonctionne-t-il' qui peuvent servir de fondation ou même augmenter 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 TLS et chiffreurs

Vous ne serez pas laissé seul ici, je vous montrerai comment faire tout ce qui précède. 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é 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 la façon de résoudre les problèmes d'envoi via SMTP à nos serveurs, consultez notre article de dépannage SMTP. Pour les tests de connexion SMTP de base, vous pouvez également vérifier les connexions SMTP en utilisant des sessions telnet manuelles.

En répétant les meilleures pratiques de sécurité, SparkPost a déprécié toutes les anciennes versions TLS sauf la v1.2 et ultérieures. Si vous voulez voir si votre système est compatible, SWAKS vous permet de tester des versions TLS et chiffreurs 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 à changer cela en "tlsv1_1" et à l'utiliser sur d'autres domaines pour observer leur compatibilité.

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

Comme promis, si vous êtes arrivé jusqu'ici la récompense est ce simple 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 enregistré, tapez simplement “swaks“ et il pré-remplit tout et l'envoie joyeusement ! Encore mieux, vous pouvez le remplacer en l'ajoutant sur la ligne de commande, par exemple si vous souhaitez 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.