Envoyer un mail depuis le terminal
Aller à la navigation
Aller à la recherche
Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack
Envoyer un mail depuis le terminal
Utiliser la messagerie avec le paquet mutt
Site officiel pour mutt : http://www.mutt.org Documentation : http://www.mutt.org/doc/manual/
Installer mutt
sudo apt-get install mutt mutt
Configurer mutt
La configuration de mutt se fait dans le fichier ~/.muttrc ou dans le fichier /etc/Muttrc.
Il est préférable de partir de zéro. Créer le fichier .muttrc dans votre home utilisateur. Exemple pour l'utilisateur root : su cd ~/ touch .muttrc nano .muttrc
Créer la configuration de mutt pour Linux
# Depuis Debian Mint Ubuntu, créer deux fichiers de configuration .muttrc pour l'utilisateur root et pour l'utilisateur standard.
# configuration de base set realname = "Nom utilisateur qui envoie le message" set header_cache =~/.mutt/cache/headers set certificate_file =~/.mutt/certificates set message_cachedir =~/.mutt/cache/bodies # configuration imap set spoolfile=imaps://imap.gmail.com:993/INBOX set imap_user = "{votre @ email}" set imap_pass = "{votre password}" set imap_passive="no" set imap_check_subscribed="yes" set imap_list_subscribed="yes" # configuration SMTP set smtp_url = "smtp://{votre @ email}@smtp.gmail.com:587/" set smtp_pass = "{votre password}" set from = "{votre @ email}@gmail.com" set use_envelope_from=yes # Pour que postfix ou sendmail ne change pas votre from # En complément set trash = "imaps://imap.gmail.com/[Gmail]/Trash" set postponed="+[Gmail]/Draft" set folder = "imaps://imap.gmail.com:993/" set imap_check_subscribed set mail_check = 120 set timeout = 300 set imap_keepalive = 300 set signature='/signature.txt' # locales FR pour les noms des jours et mois. # Cette variable est prise en compte sous Mint et Ubuntu. set locale="fr_FR" # Cette variable n'est pas prise en compte sous Debian et provoque une erreur. # Utiliser peut être une autre valeur ? # set locale="utf-8" # Format de date set date_format="%A %d %b %Y à %H:%M:%S (%Z)" # phrase d'intro pour réponse quotée set attribution="Le %d, %n a écrit :" set forward_format="[Fwd: %s]" set forward_quote # mailboxes ! #Editeur set edit_hdrs auto_view text/html #set editor="nano" # Indiquer le choix de votre éditeur de texte. color attachment magenta default # attachments color body brightred default "(ftp|http)://[^ ]+" # point out URLs color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses color bold brightblue default # boldface text color error brightwhite red # error messages color hdrdefault magenta default # default color of message header color header brightmagenta default ^(From): # From and Subject header color header brightwhite default ^(Subject): # From and Subject header color header brightwhite default ^(Date): # Date header color header white default ^(In-Reply-To): color indicator brightred default # indicator bar color markers brightblue default # wrapped line markers (+) color message brightblack green # status messages color normal default default # default color quoted yellow default # quoted text, 1st quote level color quoted1 green default # quoted text, 2nd quote level color quoted2 brightblue default # quoted text, 3rd quote level color quoted3 blue default # quoted text, 4th quoet level color search black yellow # matched search patterns in pager color signature red default # the signature (after sigdashes) color status default blue # status lines color tilde brightblue default # ``~ used to pad blank lines color tree green default # thread tree in the index menu color underline brightgreen default # underlined text # Encodage a utiliser set charset=utf-8 set send_charset=utf-8 set pager_index_lines=7 set pager_stop
Première utilisation
Démarrer mutt
Démarrer mutt avec la commande mutt, en étant root, ou, avec un simple utilisateur. Le programme va proposer la création automatique des dossiers et fichiers nécessaires pour stocker les mails de l'utilisateur. Accepter.
Erreurs rencontrées
Envoyer un mail avec une configuration de mutt par défaut
Un message d'erreur va être affiché si la configuration de mutt n'est pas configuré pour envoyer des messages.
# Le message d'erreur que j'ai obtenu avant de configurer mutt avec la configuration fonctionnelle partagée plus haut : Erreur en envoyant le message, fils terminé avec le code 127 (Exec error.). Impossible d'envoyer le message.
NXDOMAIN Domain name not found
Un deuxième message d'erreur peut être rencontré, si on tente d'envoyer un mail localement, à l'utilisateur root@MonDomaineLocal : DNS Error: 5084189 DNS type 'mx' lookup of MonDomaineLocal responded with code NXDOMAIN Domain name not found: MonDomaineLocal Envoyer un mail pour l'utilisateur local en passant par le SMTP de Google, forcément Google ne sait pas comment joindre notre machine. Il faut utiliser un MTA local à ce moment la, par exemple, installer Postfix pour une utilisation locale uniquement.
Si le message est bien envoyé à un mail valide, par exemple "mail@visionduweb.com", alors, le mail sera bien réceptionné depuis le client de messagerie habituel.
Erreur de variable locale
La variable locale semble bien être prise en compte dans le manuel de Mint ou de Ubuntu pour les valeurs de .muttrc acceptées. Cette valeur doit être commentée avec un autre système d'exploitation pour éviter une erreur affichée au lancement de mutt. La variable locale n'est pas présente dans le manuel de mutt / .muttrc officiel. Source : http://www.mutt.org/doc/mutt.1.txt La variable locale n'est pas présente dans le manuel de mutt / .muttrc proposé par Debian.
La connexion IMAP ne s’établit pas vers Gmail
Quand je lance mutt, la connexion ne s’établit pas. En acceptant l'appareil depuis Gmail, la connexion devient fonctionnelle comme affiché depuis le terminal lors du démarrage de mutt.
SMTP No authenticators available
Lors de l'envoi du message je rencontre l'erreur suivante après l'identification SMTP : No authenticators available.
Une première piste en ajoutant la variable set smtp_authenticators = 'login'
ne me permet pas d'envoyer le message.
(En vert) SSL/TLS connection using TLS1.2 (ECDHE-RSA/CHACHA20-POLY1305/AEAD)
(En rouge) No authenticators available.
J'obtiens cette erreur avec un serveur web basé sur Debian 9 SID. Avec une machine virtuelle basée sur Debian 9 XFCE, je peux envoyer des mails directement.
SASL est apparemment requis pour que mutt s'authentifie à l'aide de smtps. Installer le paquet libsasl2-modules me permet d'envoyer le message : sudo apt install libsasl2-modules APT a répertorié ce paquet comme "recommandé", ce qui n'est pas un bogue, ce paquet n'étant pas indispensable pour exécuter mutt.
Droits en écriture sur le dossier local pour conserver les messages
Quand un envoie de message n'aboutit pas, il est nécessaire d'annuler l'action en cours. L'option pour annuler l'envoie du message propose de le conserver avec la touche yes pour valider.
Dans mon cas, le dossier [Gmail] appartenait à root au lieu de l'utilisateur local utilisé pour tester l'envoi du message. /home/USER/Mail/[Gmail]/Draft: Permission denied (errno = 13)
Une fois le propriétaire et le groupe changé pour l'utilisateur par défaut, USER, le message annulé peut être correctement enregistré.
Notes complémentaires de Blabla Linux
Éditer le fichier de conf qui se trouve dans "~/.muttrc " ou plus simplement /home/user/.muttrc Ajouter ce texte en le modifiant selon t'es propre info (ici pour gmail) :
set from = "ADRESSE_MAIL@gmail.com" set realname = "NOM_PRENOM_ASSOCIER_A_L'ADRESSE_MAIL" set imap_user = "ADRESSE_MAIL@gmail.com" set imap_pass = "PASSWORD" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed ="+[Gmail]/Drafts" set header_cache =~/.mutt/cache/headers set message_cachedir =~/.mutt/cache/bodies set certificate_file =~/.mutt/certificates set smtp_url = "smtp://ADRESSE_MAIL@smtp.gmail.com:587/" set smtp_pass = "PASSWORD" set move = no set imap_keepalive = 900
Ensuite tu peux envoyer des mails comme ceci : echo "TITRE_DU_MAIL" | mutt -s "SUJET_DU_MAIL" ADRESSE_DE_DESTINATION
Les commandes de mutt
Lire les mails avec mutt
q Quit d Del u Undel s Save m Mail r Reply g Group ? Help
Marquer les mails à supprimer avec la touche "d". Quitter mutt. Un message de confirmation demande si les mails doivent être supprimés.
Vérifier l'encodage des messages
# Démarrer mutt et coller la commande suivante dans l'interface pour vérifier l'encodage et s'assurer de la prise en compte des accents : :set &charset ?charset # Le message suivant va être affiché : charset="utf-8"
Envoyer un mail avec mutt
# Pour envoyer un message il suffit de taper "m". L'interface d'envoi de mail s'ouvre.
# Saisir le destinataire, par exemple, l'utilisateur root, en local. To :
# Indiquer le sujet du mail : Subject :
# Écrire le contenu du message : Notre premier message.
# Une fois la rédaction du mail terminée, ctrl+x pour enregistrer le message. # Appuyer sur la touche "y" pour sauvegarder. # Appuyer sur la touche "y" pour envoyer le courriel.
Si vous recevez le courriel c'est que votre serveur de courriel fonctionne correctement.
Envoyer un message avec une pièce jointe depuis le terminal
mutt -a README -s essai -c mail@visionduweb.com < /dev/null
Documentation complémentaire pour mutt
Mutt : client de messagerie en console : https://doc.ubuntu-fr.org/mutt Traduction de la documentation de Mutt : http://cedricduval.free.fr/mutt/fr/ Source : https://nickdesaulniers.github.io/blog/2016/06/18/mutt-gmail-ubuntu/ A Command Line Email Client to Send Mails from Terminal : https://www.tecmint.com/send-mail-from-command-line-using-mutt-command/
Utiliser la messagerie avec la commande mail et mailx
Installer mailutils
# Installer mailx contenu dans le paquet mailutils pour utiliser la commande mail : sudo apt-get install mailutils
# Avoir plus d’information sur ce que mailutils peut gérer : mu-tool info
Utiliser la commande mail
# Lancer le programme mail : mail
# Lire un mail avec son numéro et entrée : 1
# Supprimer le message qui a été affiché : d # Lire le mail suivant : f # Lire tous les mails suivants : f *
# Supprimer les mails affichés par la commande mail : # Supprimer les mails de 1 à 5 : d 1-5 # Supprimer tous les mails : d *
# Réponse au problème pour envoyer un mail en ligne de commande ! # Plusieurs fois, j'ai été bloqué pour valider l'envoi d'un mail saisi depuis le terminal. # Utiliser le raccourci suivant pour envoyer le mail une fois le message correctement rédigé : CTRL D
# Envoyer un mail en ligne de commande : mail -s "Hello World !" mail@visionduweb.com < /dev/null
# Envoyer un mail en ligne de commande, avec un sujet et un message : mail -s "This is the subject" somebody@example.com <<< 'This is the message'
# Envoyer un mail en ligne de commande avec un message de confirmation dans le terminal : HOST="Le serveur Debian." echo "Mail envoyé le $(date)" | mail -s "Test de mail depuis $HOST" mail@visionduweb.com
# Envoyer le contenu d'un fichier texte par mail : mail -s "Le contenu du fichier texte" mail@visionduweb.com < README
# Envoyer le contenu d'un fichier texte par mail : cat README | mail -s "Le contenu du fichier texte" mail@visionduweb.com
# Envoyer le contenu d'un fichier texte dans un mail local : mail -s "Mail envoyé localement" debian@localhost,root@localhost < README
# Si le message suivant est affiché, l'envoie d'un mail à un serveur distant n'est pas supporté, le mail ne peut pas être envoyé. # Configurer alors le serveur de mail par défaut de Debian Exim. Mailing to remote domains not supported
# Accéder aux mails d'un utilisateur : mail -f /var/spool/mail/user
# A quoi sert ce path ? /var/mail/
Source complémentaire : https://fr.wikipedia.org/wiki/Mail_(Unix)
Utiliser la commande mailx
# Lancer le programme mailx : mail
# Envoyer un message en ligne de commande : echo "test" | mail -s "test mail" mail@visionduweb.com echo "Mail envoyé le $(date)" | mail -s "Test envoi de mail depuis $HOST" mail@visionduweb.com
# Envoyer un mail avec une copie CC et une copie BCC : mailx -s "Hello World" mail@visionduweb.com -c debian@localhost -b root@localhost < README
# Ajouter les paramètres pour le nom de l'expéditeur pour lequel répondre au message : mailx -s "Hello World" root@localhost -r "Répondre à Visionduweb<mail@visionduweb.com>" # Ajouter les paramètres pour répondre à, ainsi que le nom de l'expéditeur pour lequel répondre au message : mailx -s "Hello World" -S replyto="İsmail Baydan <ismail@localhost>" root@localhost
# Envoyer un message avec une pièce jointe en ligne de commande : # Utiliser -a ou -A, et, finir par un point virgule. # Avec -a j'obitens "mailx: En-tête invalide". mailx -s "Some File" mail@visionduweb.com -A README; # Comment valider l'envoie du mail ? # CTRL+C Espace, deux fois, pour avorter l'envoie du message.
# Envoyer un message avec une pièce jointe en ligne de commande : # Utiliser -a ou -A, et, finir par un point virgule. # Avec -a j'obitens "mailx: En-tête invalide". echo "le message du mail" | mailx -s "objet du mail" -A "README" mail@visionduweb.com;
# Ajouter du HTML dans un mail : ( echo "Content-Type: text/html"; cat toto.html ) | mail -a piece.pdf -s "mon sujet" -c copie@toto.com destinaraire@toto.com # Ou : mailx -a 'Content-Type: text/html' -s "my subject" user@gmail.com < email.html
Autres exemples pour envoyer un mail en ligne de commande Linux
https://www.poftut.com/linux-mail-mailx-commands-tutorial-examples-send-email-command-line/ https://tecadmin.net/ways-to-send-email-from-linux-command-line/ 16 Command Examples to Send Email From The Linux Command Line : https://blog.edmdesigner.com/send-email-from-linux-command-line/ Comment traiter l'option invalide -A : https://web.archive.org/web/20190921142934/http://www.juanjchong.com/2014/cant-send-e-mail-from-the-ubuntu-command-line-mailx-invalid-option-a/ Avec uuencode et le paquet sharutils : https://www.system-linux.eu/index.php?post/2009/12/17/Mailx-et-fichiers-joints-en-une-ligne
NAVIGATION
PARTICIPER ET PARTAGERBienvenue sur le wiki de Amis SH. De nombreuses pages sont partagées sur ce wiki. Créer un compte utilisateur pour participer sur le wiki. Les pages présentées sur le wiki évoluent tous les jours. Certaines recherches sont peu abouties et incluent des erreurs. Utiliser la recherche interne du wiki pour trouver votre contenu. La page de discussion de Amis SH vous permet de poser vos questions. Consulter le site amis-sh.fr pour installer votre propre serveur web. Améliorer le contenu des pages avec vos retours depuis l'onglet discussion. Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique. Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité. |
SOUTENIR CE WIKISoutenir le wiki avec un don en monnaie numérique : AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash OBTENIR DE LA MONNAIE NUMERIQUEObtenir gratuitement de la monnaie numérique : Miner de la cryptomonnaie. |