GNU/Linux >> Tutoriels Linux >  >> Linux

Envoyer et recevoir Gmail à partir de la ligne de commande Linux

Je suis un utilisateur Mutt. J'aime consulter et rédiger des e-mails dans le confort de mon terminal Linux. Avec un client léger et minimal comme Mutt, je sais que je peux avoir mon e-mail disponible quelles que soient les spécifications du système ou l'accès à Internet. Et parce que j'ai un terminal Linux ouvert le plus souvent, mon client de messagerie n'a pratiquement aucune empreinte sur mon bureau. Il est caché dans un onglet de terminal ou un volet de multiplexeur, je peux donc l'ignorer lorsque je n'en ai pas besoin, mais y accéder rapidement lorsque j'en ai besoin.

Un problème communément perçu avec Mutt est que la plupart d'entre nous utilisent des comptes de messagerie hébergés ces jours-ci et n'interagissent avec les protocoles de messagerie réels que de manière superficielle. Mutt (et ELM avant lui) a été créé à une époque plus simple, lorsque la vérification des e-mails était un appel à uucp et un coup d'œil sur /var/mail . Cependant, il est bien adapté à la technologie en développement et fonctionne bien avec toutes sortes de protocoles modernes comme POP, IMAP et même LDAP, vous pouvez donc utiliser Mutt même si vous utilisez Gmail comme hôte de messagerie.

Étant donné qu'il est relativement rare d'utiliser votre propre serveur de messagerie aujourd'hui et que Gmail est très courant, ce didacticiel suppose que vous utilisez Mutt avec Gmail. Si vous êtes préoccupé par la confidentialité des e-mails, envisagez d'ouvrir un compte avec ProtonMail ou Tutanota, qui fournissent tous deux des e-mails entièrement cryptés. Tutanota possède de nombreux composants open source et ProtonMail fournit un pont IMAP pour les utilisateurs payants afin que vous n'ayez pas à contourner l'accès à votre courrier électronique en dehors d'un navigateur. Cependant, de nombreuses entreprises, écoles et organisations ne gèrent pas leurs propres services de messagerie et utilisent simplement Gmail. Vous pouvez donc avoir un compte Gmail, que vous en vouliez un ou non.

Si vous utilisez votre propre serveur de messagerie, la configuration de Mutt est encore plus simple que ce que je démontre dans cet article, alors plongez-y.

Installer Mutt

Sous Linux, vous pouvez installer Mutt à partir du référentiel de logiciels de votre distribution, puis créer un .mutt répertoire pour contenir ses fichiers de configuration :

$ sudo dnf install mutt
$ mkdir ~/.mutt

Sur macOS, utilisez MacPorts ou Homebrew. Sous Windows, utilisez Chocolatey.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Mutt est un agent utilisateur de messagerie (MUA), ce qui signifie que son travail consiste à lire, composer et envoyer des e-mails à un spool de courrier sortant. C'est le travail d'une autre application ou d'un service de transférer un message vers ou depuis un serveur de messagerie (bien qu'il y ait beaucoup d'intégration avec Mutt de sorte qu'il semble qu'il fait tout le travail même quand ce n'est pas le cas.) Comprendre cette séparation des tâches peut aider la configuration à avoir un peu plus de sens.

Il explique également pourquoi vous devez avoir des applications d'assistance (en plus de Mutt) en fonction du service avec lequel vous devez communiquer. Pour cet article, j'utilise IMAP afin que ma copie locale du courrier électronique et la copie distante du courrier de mon fournisseur de messagerie restent synchronisées. Si vous décidez d'utiliser POP à la place, cette configuration est encore plus facile à configurer et peut être effectuée sans aucun outil externe. L'intégration IMAP, cependant, nécessite OfflineIMAP, une application Python disponible à partir de son référentiel GitHub.

Finalement, vous pourrez l'installer avec le python3 -m pip commande, mais au moment d'écrire ces lignes, vous devez installer manuellement OfflineIMAP car il est toujours en cours de portage de Python 2 vers Python 3.

OfflineIMAP nécessite imaplib2 , qui est également en développement intensif, je préfère donc en faire une installation manuelle également. Le processus est le même :clonez le référentiel de code source avec Git, accédez au répertoire et installez avec pip .

Tout d'abord, installez le rfc6555 dépendance :

$ python3 -m pip install --user rfc6555 

Ensuite, installez imaplib2 depuis la source :

$ git clone [email protected]:jazzband/imaplib2.git
$ pushd imaplib2.git
$ python3 -m pip install --upgrade --user .
$ popd

Enfin, installez OfflineIMAP à partir de la source :

$ git clone [email protected]:OfflineIMAP/offlineimap3.git
$ pushd offlineimap3.git
$ python3 -m pip install --upgrade --user .
$ popd

Si vous utilisez Cygwin sous Windows, vous devez également installer Portalocker.

Configurer l'IMAP hors ligne

OfflineIMAP lit le fichier de configuration ~/.offlineimaprc par défaut. Un modèle pour ce fichier, nommé offlineimap.conf , est inclus dans le référentiel Git que vous avez cloné pour installer OfflineIMAP. Déplacez le fichier d'exemple dans votre répertoire personnel :

$ mv offlineimap3.git/offlineimap.conf ~/.offlineimaprc 

Ouvrez le fichier dans votre éditeur de texte préféré et lisez-le. C'est un fichier bien commenté, et il est bon de se familiariser avec les options disponibles.

Voici mon .offlineimaprc par exemple, avec les commentaires supprimés pour des raisons de brièveté. Certaines valeurs peuvent être légèrement différentes pour vous, mais cela vous donne une idée raisonnable de ce à quoi votre produit final devrait ressembler :

[général]
ui =ttyui
accounts =%your-gmail-username%
pythonfile =~/.mutt/password_prompt.py
fsync =False

[Compte %votre-nom-d'utilisateur-gmail%]
localrepository =%votre-nom-d'utilisateur-gmail%-Local
remoterepository =%votre-nom-d'utilisateur-gmail%-Remote
status_backend =sqlite
postsynchook =notmuch new

[Repository %your-gmail-username%-Local]
type =Maildir
localfolders =~/.mail/%your -gmail-username%-gmail.com
nametrans =dossier lambda : {'drafts' : '[Gmail]/Drafts',
                            'sent' :   '[Gmail]/Sent Mail',remotep asseval ='%your-gmail-API-password%'
## remotepasseval =get_api_pass()
sslcacertfile =/etc/ssl/certs/ca-bundle.crt
realdelete =no
nametrans =dossier lambda :{'[Gmail]/Drafts' :  'drafts',
                                          '[Gmail]/Sent Mail' :'sent',
                                                                               'signalé',
                                      'corbeille',
                                                                                    } br /> folderfilter =dossier Lambda:dossier non dans ['[gmail] / corbeille',
'[Gmail] / IMPORTANT' / ",
" [Gmail] / SPAM ",
]

Il y a deux valeurs remplaçables dans ce fichier :%your-gmail-username% et %your-gmail-API-password% . Remplacez le premier par votre nom d'utilisateur Gmail. C'est la partie de votre adresse e-mail à gauche de @gmail.com partie. Vous devez acquérir la deuxième valeur auprès de Google via un processus de configuration d'authentification à deux facteurs (2FA) (même si vous n'avez pas besoin d'utiliser 2FA pour consulter vos e-mails).

Configurer 2FA pour Gmail

Google s'attend à ce que ses utilisateurs utilisent le site Web Gmail pour le courrier électronique, donc lorsque vous essayez d'accéder à votre courrier électronique en dehors de l'interface de Gmail, vous le faites essentiellement en tant que développeur (même si vous ne vous considérez pas comme un développeur). En d'autres termes, vous créez ce que Google considère comme une "application". Pour obtenir un mot de passe d'application de niveau développeur , vous devez configurer 2FA ; grâce à ce processus, vous obtenez un mot de passe d'application, que Mutt peut utiliser pour se connecter en dehors de l'interface habituelle du navigateur.

Pour plus de sécurité, vous pouvez également ajouter une adresse e-mail de récupération. Pour ce faire, accédez à la page Sécurité du compte de Google et faites défiler jusqu'à E-mail de récupération .

Pour configurer 2FA, revenez à la page Sécurité du compte et cliquez sur Vérification en 2 étapes pour l'activer et le configurer. Cela nécessite un téléphone mobile pour la configuration.

Après avoir activé 2FA, vous obtenez une nouvelle option de sécurité de compte Google :mots de passe d'application . Cliquez dessus pour créer un nouveau mot de passe d'application pour Mutt. Google génère le mot de passe pour vous, alors copiez-le et collez-le dans votre .offlineimaprc fichier à la place du %your-gmail-API-password% valeur.

Placer votre mot de passe API dans votre .offlineimaprc le fichier le stocke en texte brut, ce qui peut être dangereux. Pendant longtemps, j'ai fait cela et je me sentais bien parce que mon répertoire personnel est crypté. Cependant, dans l'intérêt d'une meilleure sécurité, je crypte maintenant mon mot de passe API avec GnuPG. Cela dépasse un peu le cadre de cet article, mais j'ai écrit un article expliquant comment configurer l'intégration du mot de passe GPG.

Activer IMAP dans Gmail

Il y a une dernière chose avant de pouvoir dire au revoir à l'interface Web de Gmail pour toujours :vous devez activer l'accès IMAP à votre compte Gmail.

Pour ce faire, accédez à l'interface Web de Gmail, cliquez sur l'icône "roue dentée" dans le coin supérieur droit, puis sélectionnez Voir tous les paramètres . Dans Gmail, Paramètres , cliquez sur POP/IMAP et activez le bouton radio à côté de Activer IMAP . Enregistrez vos paramètres.

Gmail est désormais configuré pour vous donner accès à votre messagerie en dehors d'un navigateur Web.

Configurer Mutt

Maintenant que vous êtes prêt pour Mutt, vous serez heureux d'apprendre que la configuration de Mutt est la partie la plus facile. Comme pour les fichiers .bashrc, .zshrc et .emacs, il existe de nombreux exemples de très bons fichiers .muttrc disponibles sur Internet. Pour mon fichier de configuration, j'ai emprunté des options et des idées à Kyle Rankin, Paul Frields et bien d'autres, j'ai donc abrégé mon fichier .muttrc à l'essentiel dans un souci de simplicité :

set ssl_starttls=yes
set ssl_force_tls=yes

set from='[email protected]'
set realname='Tux Example'

définir le dossier =imaps://imap.gmail.com/
définir le fichier spool =imaps://imap.gmail.com/INBOX
définir le report =imaps://imap.gmail.com /[Gmail]/Drafts"
set smtp_url="smtp://smtp.gmail.com:25"
set move =no
set imap_keepalive =900
set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"

# Chemins
set folder           =~/.mail
set alias_file       =~/.mutt /alias
set header_cache     ="~/.mutt/cache/headers"
set message_cachedir ="~/.mutt/cache/bodies"
set certificate_file =~/.mutt/certificates
set mailcap_path     =~/.mutt/mailcap
set tmpdir           =~/.mutt/temp
set signature        =~/.mutt/sig
set sig_on_top       =yes

# Options de base
set wait_key =no
set mbox_type =Maildir
unset move               # gmail fait ça

# Patch de la barre latérale
s et sidebar_visible =yes
set sidebar_width  =16
color sidebar_new color221 color233

## Paramètres du compte
# Boîte de réception par défaut
set spoolfile ="+exemple. com/INBOX"

# Boîtes aux lettres à afficher dans la barre latérale.
boîtes aux lettres +INBOX \
          +envoyé \
          +brouillons

# Autre dossier spécial
set reported ="+example.com/drafts"

# navigation
macro index gi "=example.com/INBOX " "Aller à la boîte de réception"
index de la macro gt "=example.com/sent" "Afficher les messages envoyés"

Rien dans ce fichier ne nécessite de modification, mais pensez à remplacer le faux nom Tux Example et la fausse adresse example.com avec quelque chose qui s'applique à vous. Copiez et collez ce texte dans un fichier et enregistrez-le sous ~/.mutt/muttrc .

Lancer Mutt

Avant de lancer Mutt, lancez offlineimap depuis un terminal pour synchroniser votre ordinateur avec le serveur distant. La première exécution de ceci prend beaucoup de temps , alors laissez-le fonctionner pendant la nuit.

Une fois votre compte synchronisé, vous pouvez lancer Mutt :

$ mutt 

Mutt vous demande l'autorisation de créer les répertoires dont il a besoin pour organiser votre activité de messagerie, puis affiche une vue de votre boîte de réception.

Apprendre Mutt

Apprendre Mutt est un mélange d'exploration de l'application et de recherche de vos hacks préférés pour votre configuration .muttrc. Par exemple, mon fichier de configuration intègre Emacs pour composer des messages, LDAP pour pouvoir rechercher dans les contacts, GnuPG pour chiffrer et déchiffrer les messages, la collecte de liens, les vues HTML, et bien plus encore. Vous pouvez faire de Mutt tout ce que vous voulez qu'il soit (tant que vous voulez qu'il soit un client de messagerie), et plus vous expérimentez, plus vous découvrez.


Linux
  1. Configurer un espace de travail Linux à distance depuis la ligne de commande

  2. Comment installer un logiciel à partir de la ligne de commande Linux

  3. 4 façons d'envoyer une pièce jointe à partir de la ligne de commande Linux

  4. Migrer un serveur Linux depuis la ligne de commande

  5. Comment envoyer un message à mon websocket socket.io à partir de la ligne de commande sous Linux ?

Maîtrisez la ligne de commande Linux

Comment envoyer un e-mail avec une pièce jointe à partir de la ligne de commande

commande mailx sous Linux - envoyer et recevoir du courrier Internet

Recherche des fichiers et dossiers les plus volumineux dans la ligne de commande Linux

Envoyer un e-mail sous Linux à partir de la ligne de commande

Mutt, Mail et Telnet - Envoyez des e-mails à partir de la ligne de commande Linux ou du terminal