Les moyens les plus intelligents d'envoyer des e-mails à partir de la ligne de commande Linux

Les moyens les plus intelligents d'envoyer des e-mails à partir de la ligne de commande Linux
Même si un demi-siècle s'est écoulé depuis l'envoi du premier e-mail, nous comptons toujours quotidiennement sur la technologie ancienne. Les clients et services de messagerie moderne sont élégants, faciles à utiliser et remplis de fonctionnalités plus avancées que la plupart des utilisateurs ne savent utiliser.

Parfois, cependant, tout ce que vous avez à faire est d'envoyer un message simple en texte uniquement, et vous ne pourrez peut-être pas toujours lancer une application GUI ou vous connecter à une interface webmail 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 faire exactement cela.

Avant que nous commencions

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:

Tu vas apprendre Pour envoyer des e-mails via le serveur SMTP de votre fournisseur de messagerie vers n'importe quelle adresse e-mail.

Tu n'apprendras pas Comment configurer votre serveur de messagerie et l'utiliser pour envoyer directement des e-mails.

Pourquoi pas? Parce que personne n'accepterait les e-mails envoyés de votre serveur de messagerie. Comme vous le savez, le spam est un énorme problème en ce qui concerne les e-mails, et pratiquement tous les fournisseurs de services de messagerie et les serveurs de message.

Un utilisateur passionné de Linux avec un serveur de messagerie DIY est considéré comme une source de courriel douteuse. De plus, la plupart des fournisseurs de services Internet bloquent le port 25, qui est le port standard utilisé pour les connexions SMTP, vous ne pourriez donc même pas envoyer de messages en premier lieu.

Au lieu de passer par tous les problèmes 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 Formeotage et Pop / IMAP dans les paramètres. Vous devez également autoriser les applications qui utilisent une technologie de connexion moins sécurisée.

Méthode n ° 1: Mutt

Mutt est un vénérable client de messagerie. Il a été créé en 1995 par Michael Elkins, et il a reçu des mises à jour à un rythme régulier depuis. Malgré sa nature de conrol. 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 référentiels de votre distribution:

$ sudo apt install mutt

Ensuite, vous pouvez lancer Mutt:

$ Mutt

Il vous sera demandé de créer un répertoire de messagerie. Choisissez «oui» pour le créer. Mutt devrait 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.

$ mkdir -p ~ /.Mutt / Cache / Headers
$ mkdir ~ /.Mutt / Cache / Bodies
$ touch ~ /.Mutt / Certificats
$ touch ~ /.Mutt / Muttrc

Maintenant, ouvrez le fichier de configuration dans votre éditeur de texte préféré et copiez et collez la configuration suivante (assurez-vous de modifier les paramètres par défaut de ceux qui correspondent à votre compte de messagerie Gmail):

# Smtp
définir smtp_url = "smtp: // nom d'utilisateur @ smtp.Gmail.com: 587 / "
définir smtp_pass = $ imap_pass
Définir SSL_FORCE_TLS = Oui
# Imap
Définissez IMAP_USER = Name username @ gmail.com
Définissez IMAP_PASS = Mot de passe
Set SpoolFile = imaps: // imap.Gmail.com / boîte de réception
set dossier = imaps: // imap.Gmail.com /
set record = "imaps: // imap.Gmail.com / [gmail] / courrier envoyé "
set postponed = "imaps: // imap.Gmail.com / [gmail] / brouillons "
Définir Mbox = "IMAPS: // IMAP.Gmail.com / [gmail] / tout courrier "
définir en tête_cache = "~ /.Mutt / Cache / Headers "
set message_cachedir = "~ /.Mutt / Cache / Bodies "
set certificate_file = "~ /.Mutt / Certificats "
# ÉDITEUR
set Editor = "Nano"

Vous pouvez maintenant lancer Mutt, et il devrait automatiquement récupérer vos e-mails pour vous. Pour envoyer votre premier e-mail à partir de 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, le sujet de l'e-mail et, enfin, le corps du message.

Avant que Mutt n'envoie l'e-mail, il 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 à partir de la ligne de commande Linux!

Méthode n ° 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 au-delà de la portée de cet article pour décrire tous les clients de messagerie en ligne de commande pour Linux, il y a deux autres clients que nous voulons que vous connaissiez, en commençant par AERC.

Conçu pour être efficace et extensible, AERC apporte la prise en charge de la table pour plusieurs comptes, les clés de style Vim, un navigateur Web terminal interactif capable de rendre des e-mails HTML, et plus encore.

Mieux encore, l'AERC est considérablement plus facile à installer que Mutt, mais il y a une chance qu'il ne soit pas inclus dans les référentiels de votre distribution. Dans ce cas, vous pouvez le compiler vous-même en suivant les instructions sur les instructions officielles.

Lorsque l'AERC a installé sur votre système, vous pouvez le lancer à l'aide de la commande «AERC». L'AERC comprend un assistant de configuration pratique pour vous aider à configurer votre compte-No Besoin de modifier manuellement les fichiers de configuration!

Une fois que vous avez terminé d'entrer dans les informations de base et la configuration de quelques paramètres de base, vous pouvez soit lire le tutoriel groupé ou aller directement dans votre boîte de réception.

Pour composer un nouveau message, tout ce que vous avez à faire est d'appuyer sur Shift + C.

Méthode n ° 3: Swaks

Pour envoyer des e-mails à partir de 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 dont ils n'étaient pas destinés à être utilisés. L'application SWAKS est un testeur de transaction SMTP polyvalent qui peut être utilisé pour envoyer des e-mails via Gmail et d'autres fournisseurs.

Commencez par l'installer comme vous le feriez pour n'importe quelle autre application:

$ sudo apt install swaks

Maintenant, entrez la commande suivante (assurez-vous d'inclure votre propre adresse Gmail) pour tester votre connexion:

$ swaks -t nom d'utilisateur @ gmail.com -s smtp.Gmail.com: 587 -tls -a connexion [Entrée]

Il vous sera demandé de saisir votre nom d'utilisateur Gmail (votre adresse e-mail) et votre mot de passe. Vous devriez recevoir une adresse e-mail de vous-même, confirmant que le test a réussi. Pour envoyer un e-mail réel, utilisez la syntaxe suivante:

$ swaks - à la boîte aux lettres @ exemple.com -s smtp.Gmail.com: 587 -tls -au -AP --attacher -d ./poster.SMS

C'est ainsi que vous pouvez envoyer un e-mail à l'aide de swaks avec une seule commande de terminal.

Méthode n ° 4: SSMTP

SSMTP est un programme de livraison par e-mail destiné à livrer le courrier d'un ordinateur à un Hub Mail (serveur SMTP). Cela signifie que vous pouvez l'utiliser pour envoyer un e-mail à quelqu'un d'autre, mais vous ne pouvez pas l'utiliser pour recevoir un e-mail qui vous est envoyé par quelqu'un d'autre.

Vous pouvez installer SSMTP en installant le package correspondant à partir des référentiels:

$ sudo apt install ssmtp

La configuration se fait en modifiant / etc / ssmtp / ssmtp.Fichier de configuration de Conf:

# L'utilisateur qui reçoit tous les mails (UID < 1000, usually the admin)
root = nom d'utilisateur @ gmail.com
# Le serveur de messagerie (où le courrier est envoyé), les deux ports 465 ou 587 devraient être acceptables
# Voir aussi https: //.Google.com / courrier / réponse / 78799
MailHub = SMTP.Gmail.com: 587
# L'adresse d'où le courrier semble provenir pour l'authentification des utilisateurs.
rewritedomain = gmail.com
# Le nom d'hôte complet. Doit être correctement formé, le nom de domaine entièrement qualifié ou Gmail rejetera la connexion.
nom d'hôte = yourLocalHost.YourLocaldomain.TLD
# Utilisez SSL / TLS avant de commencer la négociation
Tls_ca_file = / etc / ssl / certs / ca-certificats.CRT
Usetls = oui
USESTARTTLS = Oui
# Identifiant Mot de passe
Authuser = nom d'utilisateur
Authpass = mot de passe
AuthMethod = connexion
# Email 'de l'en-tête peut remplacer le domaine par défaut?
FromLineOverride = Oui

Pour envoyer un e-mail, vous devez installer le package Mailutils (Systèmes basé sur Debian) ou MailSx (Systèmes basés sur RHEL) pour utiliser la commande Mail pour transmettre votre message électronique à SSMTP qu'il peut le livrer à Gmail. Comme ça:

$ echo -e "Sujet: c'est le sujet \ n \ nthis est le corps" | Mail utilisateur @ Exemple.com

Méthode n ° 5: Telnet

La dernière méthode que nous voulons examiner est la plus geek la plus geek, mais cela pourrait ê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 à distance sur un texte sur un réseau.

Ce qui est génial dans 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 à parcourir. Puisque nous utilisons Gmail aux fins de cet article, vous devez vous assurer que votre client Telnet prend en charge le cryptage SSL:

$ sudo apt installer telnet-ssl

Vous pouvez ensuite lancer votre client Telnet et le connecter au serveur SMTP de Gmail:

$ telnet -z ssl smtp.Gmail.com 465

Puisqu'il serait impoli de ne pas nous présenter, vous pouvez saluer le serveur comme ceci:

HELO HELLOGOOGLE

Si vous avez reçu une réponse positive, vous pouvez procéder à l'authentification:

Connexion AUTH

Tout d'abord, entrez votre nom d'utilisateur encodé dans Base64, puis entrez votre mot de passe, également encodé dans Base64. Le serveur SMTP doit répondre avec «334 UGFZC3DVCMQ6» à chaque fois.

Il est maintenant temps de spécifier votre adresse e-mail:

COURRIER DE:

Ensuite, spécifiez le destinataire:

Rcpt à:

Enfin, dites au serveur SMTP que vous souhaitez écrire un e-mail:

DONNÉES

Vous pouvez maintenant saisir le sujet de votre e-mail et appuyer sur Entrée pour confirmer. Procéder au corps du courrier et appuyez sur Entrée pour confirmer. Pour fermer votre e-mail, 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 résilier votre connexion et envoyez l'e-mail:

ARRÊTER

Conclusion

Envoie des e-mails à partir de la ligne de commande Linux Impraticy? Peut-être, mais vous ne savez jamais quand cette compétence sera utile. Même si vous ne le mettez jamais à bon escient, au moins vous pouvez vous sentir bien dans votre peau, sachant que vous êtes devenu légèrement plus avancé en tant qu'utilisateur Linux.