Même si un demi-siècle s’est écoulé depuis l’envoi du premier e-mail, nous nous appuyons toujours quotidiennement sur une technologie ancienne. Les clients et services de messagerie modernes sont élégants, faciles à utiliser et dotés de fonctionnalités plus avancées que la plupart des utilisateurs ne savent comment les utiliser.
Parfois, cependant, tout ce que vous devez faire est d’envoyer un simple message texte uniquement, et vous ne pourrez peut-être pas toujours lancer une application graphique ou vous connecter à une interface de messagerie Web pour faire le travail. Dans de telles situations, il est pratique de savoir comment envoyer des e-mails à partir de la ligne de commande Linux, et cet article explique comment le faire.
Avant de commencer
Avant de décrire les moyens les plus intelligents d’envoyer des e-mails à partir de la ligne de commande Linux, ce que vous pouvez vous attendre à apprendre en lisant cet article:
Vous apprendrez à envoyer des e-mails via le serveur SMTP de votre fournisseur de messagerie à n’importe quelle adresse e-mail.
Vous n’apprendrez pas comment configurer votre serveur de messagerie et l’utiliser pour envoyer des messages électroniques directement.
Pourquoi pas? Parce que personne n’accepterait de toute façon les e-mails envoyés depuis votre serveur de messagerie. Comme vous le savez, le spam est un énorme problème en ce qui concerne le courrier électronique, et pratiquement tous les fournisseurs de services de messagerie et les serveurs de messagerie incluent désormais une protection anti-spam de base qui fait que tous les e-mails provenant de sources douteuses sont rejetés.
Un utilisateur avide de Linux avec un serveur de messagerie DIY est considéré comme une source de courrier électronique douteuse. De plus, la plupart des fournisseurs de services Internet bloquent le port 25, qui est le port standard utilisé pour les connexions SMTP, de sorte que vous ne pourrez probablement même pas envoyer de messages en premier lieu.
Au lieu de faire fonctionner un serveur de messagerie domestique, il est beaucoup plus facile d’utiliser un service de messagerie comme Gmail, que nous utiliserons pour cet article.
Si vous ne l’avez pas déjà fait, connectez-vous à votre compte Gmail et activez l’accès IMAP à partir de l’onglet Transfert et POP/IMAP dans Paramètres. Vous devez également autoriser les applications qui utilisent une technologie de connexion moins sécurisée.
Méthode #1: Mutt
Mutt est un client de messagerie vénérable. Il a été créé en 1995 par Michael Elkins, et il reçoit des mises à jour à un rythme constant depuis. Malgré sa nature en ligne de commande, Mutt prend en charge de nombreuses fonctionnalités utiles, y compris les macros de clavier, PGP / MIME, le threading de messages, les pièces jointes et bien plus encore. Vous pouvez l’utiliser avec n’importe quel service de messagerie qui fournit un accès POP3 ou IMAP.
Tout d’abord, vous devez installer Mutt à partir des dépôts de votre distribution:
Puis vous pouvez lancer Mutt:
Il vous sera demandé de créer un répertoire de messagerie. Choisissez « oui » pour le créer. Mutt devrait se lancer et vous dire qu’aucune boîte aux lettres n’est ouverte. Maintenant que vous avez confirmé que Mutt fonctionne, il est temps de créer des répertoires de base et le fichier de configuration principal, appelé muttrc.
mkmkdir~/.mutt/cache/bodies
touch touche ~/.mutt/certificats
touch touche ~/.mutt/muttrc
Maintenant, ouvrez le fichier de configuration dans votre éditeur de texte préféré et copiez & collez la configuration suivante (assurez-vous de modifier les paramètres par défaut pour ceux qui correspondent à votre compte de messagerie Gmail):
définir smtp_url= »smtp://:587/ »
set smtp_pass= $imap_pass
set ssl_force_tls=oui
#IMAP
set imap_user= [email protected]
set imap_pass=mot de passe
set spoolfile= imaps://imap.gmail.com/BOÎTE DE RÉCEPTION
set folder= imaps://imap.gmail.com/
set record= »imaps://imap.gmail.com//Courrier envoyé »
set postponed= »imaps://imap.gmail.com//Brouillons »
set mbox= »imaps://imap.gmail.com//Brouillons »
set mbox= »imaps: // imap.gmail.com // Tout le courrier »
set header_cache= »~/.mutt/cache/headers »
set message_cachedir= »~/.mutt/cache/bodies »
set certificate_file= »~/.mutt/certificats »
# EDITOR
set editor= »nano »
Vous pouvez maintenant lancer Mutt, et il devrait récupérer automatiquement vos e-mails pour vous. Pour envoyer votre premier message électronique depuis la ligne de commande, appuyez sur « m » sur votre clavier. Choisissez de ne pas rappeler un message reporté et entrez l’adresse e-mail du destinataire, l’objet du message électronique et, enfin, le corps du message.
Avant que Mutt n’envoie le message électronique, cela vous permettra de le modifier et de joindre un fichier. Une fois que vous en êtes satisfait, vous pouvez appuyer sur « y » pour l’envoyer. C’est à quel point il est facile d’envoyer un e-mail depuis la ligne de commande Linux!
Méthode #2: aerc
Cela ne vous surprendra probablement pas d’apprendre que Mutt n’est pas le seul client de messagerie en ligne de commande pour Linux, bien que ce soit certainement le plus populaire. Bien qu’il soit hors de portée de cet article de décrire tous les clients de messagerie en ligne de commande pour Linux, nous voulons que vous connaissiez deux autres clients, à commencer par aerc.
Conçu pour être efficace et extensible, aerc prend en charge plusieurs comptes, les raccourcis clavier de style Vim, un navigateur Web de terminal interactif capable de rendre des e-mails HTML, etc.
Mieux encore, aerc est beaucoup plus facile à configurer que Mutt, mais il est possible qu’il ne soit pas inclus dans les dépôts de votre distribution. Dans ce cas, vous pouvez le compiler vous-même en suivant les instructions figurant sur les instructions officielles.
Lorsque aerc est installé sur votre système, vous pouvez le lancer à l’aide de la commande « aerc ». Aerc inclut un assistant de configuration pratique pour vous aider à configurer votre compte – pas besoin de modifier les fichiers de configuration manuellement !
Une fois que vous avez terminé de saisir les informations de base du compte et de configurer quelques paramètres de base, vous pouvez lire le tutoriel fourni ou accéder directement à votre boîte de réception.
Pour composer un nouveau message, il vous suffit d’appuyer sur Maj + C.
Méthode #3: swaks
Pour envoyer des e-mails depuis la ligne de commande Linux de la manière la plus intelligente possible, vous devez sortir des sentiers battus et utiliser des outils logiciels d’une manière qui n’était pas destinée à être utilisée. L’application swaks est un testeur de transaction SMTP polyvalent qui peut être utilisé pour envoyer des messages électroniques via Gmail et d’autres fournisseurs.
Commencez par l’installer comme vous le feriez pour toute autre application:
Maintenant, entrez la commande suivante (assurez-vous d’inclure votre propre adresse Gmail) pour tester votre connexion:
Il vous sera demandé d’entrer votre nom d’utilisateur Gmail (votre adresse e-mail) et votre mot de passe. Vous devriez recevoir une adresse e-mail de votre part, confirmant que le test a réussi. Pour envoyer un message électronique réel, utilisez la syntaxe suivante:
C’est ainsi que vous pouvez envoyer un message électronique à l’aide de swaks avec une seule commande de terminal.
Méthode #4: sSMTP
sSMTP est un programme de livraison de courrier électronique destiné à acheminer le courrier d’un ordinateur vers un hub de messagerie (serveur SMTP). Cela signifie que vous pouvez l’utiliser pour envoyer un message électronique à quelqu’un d’autre, mais vous ne pouvez pas l’utiliser pour recevoir un message électronique qui vous est envoyé par quelqu’un d’autre.
Vous pouvez installer sSMTP en installant le paquet correspondant à partir de dépôts:
La configuration se fait en éditant le fichier /etc/ssmtp/ssmtp.fichier de configuration de la configuration:
[email protected]
# Le serveur de messagerie (vers lequel le courrier est envoyé), les deux ports 465 ou 587 doivent être acceptables
# Voir également https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# L’adresse d’où le courrier semble provenir pour l’authentification de l’utilisateur.
rewriteDomain=gmail.com
# Le nom d’hôte complet. Doit être correctement formé, le nom de domaine complet ou Gmail rejettera la connexion.
nom d’hôte = yourlocalhost.votre domaine local.tld
# Utilisez SSL/TLS avant de commencer la négociation
TLS_CA_FILE=/etc/ssl/certs/ca-certificates.crt
UseTLS = Yes
UseSTARTTLS =Yes
# Nom d’utilisateur / mot de passe
AuthUser = nom d’utilisateur
AuthPass = mot de passe
AuthMethod= LOGIN
# Email’ De l’en-tête peut remplacer le domaine par défaut ?
FromLineOverride= oui
Pour envoyer un message électronique, vous devez installer le paquet mailutils (systèmes basés sur Debian) ou mailx (systèmes basés sur RHEL) pour utiliser la commande mail pour transmettre votre message électronique à sSMTP afin qu’il puisse le livrer à Gmail. Comme ça:
Méthode #5: Telnet
La dernière méthode que nous voulons examiner est la plus geek de toutes, mais elle pourrait vous être utile à un moment donné de votre vie, donc au moins être conscient de son existence est agréable. Cette méthode repose sur Telnet, un protocole client-serveur utilisé pour établir une connexion texte distante uniquement sur un réseau.
Ce qui est génial avec cette méthode, c’est qu’un client Telnet est probablement déjà installé sur votre distribution Linux. Ce qui n’est pas si génial, c’est qu’il y a beaucoup d’étapes à franchir. Puisque nous utilisons Gmail pour les besoins de cet article, vous devez vous assurer que votre client telnet prend en charge le cryptage SSL:
Vous pouvez ensuite lancer votre client Telnet et le connecter au serveur SMTP de Gmail:
Comme il serait impoli de ne pas se présenter, vous pouvez saluer le serveur comme ceci:
Si vous avez reçu une réponse positive, vous pouvez procéder à l’authentification:
Tout d’abord, entrez votre nom d’utilisateur codé en base64, puis entrez votre mot de passe, également codé en base64. Le serveur SMTP doit répondre avec « 334 UGFzc3dvcmQ6 » à chaque fois.
Il est maintenant temps de spécifier votre adresse e-mail:
Ensuite, spécifiez le destinataire:
Enfin, indiquez au serveur SMTP que vous souhaitez écrire un e-mail:
Vous pouvez maintenant entrer l’objet de votre e-mail et appuyer sur entrée pour confirmer. Continuez avec le corps du courrier et appuyez sur entrée pour confirmer. Pour fermer votre message électronique, entrez:
Vous devriez voir un message de confirmation qui ressemble à ceci: 250 2.0.0 OK 1630506266 n10sm56478ejk.86 – gsmtp
Entrez la commande suivante pour mettre fin à votre connexion et envoyer l’e-mail:
Conclusion
L’envoi de messages électroniques à partir de la ligne de commande Linux n’est-il pas pratique? Peut-être, mais vous ne savez jamais quand cette compétence sera utile. Même si vous ne l’utilisez jamais à bon escient, vous pouvez au moins vous sentir bien dans votre peau, sachant que vous êtes devenu un peu plus avancé en tant qu’utilisateur de Linux.