Comment gérer plusieurs comptes IMAP avec mutt


11

J'adore mutt, et la version mutt fournie avec Ubuntu est géniale (elle a même une version corrigée), la seule mise en garde que j'ai trouvée jusqu'à présent, c'est que je n'avais pas été en mesure de gérer plusieurs comptes imap en même temps.

Actuellement, ma configuration mutt ressemble à ceci:

#$HOME/.mutt/muttrc
=== Accounts  ====

set my_decrypt=`gpg -o $HOME/.mutt/accounts/passwd.gpg.tmp -d $HOME/.mutt/accounts/passwd.gpg`

set my_first_mail_passwd=`awk '/xxxxx@foo.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_second_mail_passwd=`awk '/yyyyy@bar.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_rm=`rm -f $HOME/.mutt/accounts/passwd.gpg.tmp`

source $HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile

//source $HOME/.mutt/accounts/yyyyy@bar.com/yyyyy@bar.com.profile

Ce qui signifie qu'un fichier password.gpg est décrypté à la volée (où vivent mes mots de passe de messagerie) l'utilise pour définir des variables et supprimé, un profil par défaut est également obtenu, il ressemble à ceci:

#$HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile
set folder           = "imaps://imap.foo.com"

set spoolfile        = "imaps://imap.foo.com/INBOX"

set header_cache     = "$HOME/.mutt/cache/xxxxx@foo.com.headers"

set message_cachedir = "$HOME/.mutt/cache/xxxxx@foo.com.bodies"

set imap_user        = "xxxxx@foo.com"

set imap_pass        = $my_first_mail_passwd

set smtp_url         = "smtp://xxxxx@smtp.foo.com"

set smtp_pass        = $my_first_mail_passwd

En utilisant cela, je ne peux utiliser que le compte configuré dans le profil par défaut .., j'ai entendu dire que les crochets de dossier peuvent être utilisés mais je ne sais pas comment les utiliser, et je ne sais pas non plus si c'est ce que je recherche, je voudrais juste pouvoir trouver différents profils en fonction de l'e-mail que je voudrais lire .., Toute méthode de suggestion est la bienvenue .., je préférerais une configuration qui ne dépend pas sur les programmes externes qui ne font pas partie d'une installation Ubuntu par défaut.

Réponses:


14

Même s'il y a quelques guides utiles sur ce site et celui-ci , j'ai pensé que je voudrais juste vous montrer ma solution en cours de fonctionnement. Vous remarquerez peut-être qu'il est similaire aux guides susmentionnés, mais avec des ajouts et des différences: j'ai trouvé qu'il était possible de ne pas utiliser account-hooksou folder-hooksdans certains cas. Voir le wiki Mutt pour une autre approche de la configuration.

Je publierai les éléments de la configuration, puis je publierai l'intégralité de mon contenu .muttrcafin que vous puissiez voir comment tout s'emboîte.

Il est plus facile d'entrer les paramètres de vos deux comptes dans des fichiers séparés et de les enregistrer dans le ~/.muttdossier. Par exemple, vos deux comptes pourraient être appelés account.gmail1et account.gmail2. Créez donc deux fichiers texte avec ces noms et suivez ce modèle ci-dessous pour le contenu; ils doivent être tous les deux identiques en dehors de la user@pièce; remplacez simplement toutes les occurrences de cela par votre véritable e-mail (par exemple mik123@) dans les deux fichiers.

set imap_user = "user@gmail.com"
set imap_pass = ""
set from = "user@gmail.com"
set realname = "user"
set hostname = gmail.com
set folder = "imaps://user@imap.gmail.com:993"
set spoolfile = "imaps://user@imap.gmail.com/INBOX"
set postponed = "imaps://user@imap.gmail.com/[Gmail]/Drafts"
set record = "imaps://user@imap.gmail.com/[Gmail]/Sent Mail"
set smtp_url = "smtp://user@smtp.gmail.com:587"
set smtp_pass = ""
  • Notez que j'ai laissé le mot de passe vide ( ""), ce qui signifie que vous serez invité à le saisir, et c'est ce que je préfère, mais vous pouvez intégrer votre propre solution si vous ne voulez pas avoir à continuer à saisir le mot de passe.

  • Si vous voulez qu'un compte par défaut soit chargé au démarrage, vous pouvez utiliser .muttrcune ligne similaire à celle-ci, spécifiez simplement votre propre fichier de configuration.

    source "~/.mutt/account.gmail1"

  • Pour basculer entre les comptes, placez un raccourci dans votre .muttrcréférence à l'emplacement et au nom réels de vos configurations de compte:

    macro index <f4> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail1<enter><change-folder>!<enter>'
    macro index <f5> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail2<enter><change-folder>!<enter>'

  • Vous pourrez basculer entre les dossiers des deux comptes avec des commandes de pager telles que

    macro index,pager ga "<change-folder>=[Gmail]/All Mail<enter>" "Go to all mail"

qui sont définis dans votre .muttrc; ceux-ci fonctionneront toujours pour chaque compte (voir mon ci-joint .muttrc).

  • J'ai testé ces paramètres particuliers avec les paramètres généraux supplémentaires dans mon.muttrc , afin que vous puissiez utiliser ce fichier et / ou l'assembler avec le vôtre, cela dépend de vous.

Maintenant, chargez simplement le muttterminal et vous devriez pouvoir charger un compte, puis passer à l'autre en utilisant votre raccourci. My .muttrcest collé ici si vous avez besoin d'un exemple fonctionnel de configuration.

Voir le bon article sur ce site sur Mutt et le wiki Mutt pour d'autres moyens de configuration mutttels que l'utilisation folder-hookspour associer des paramètres à différentes boîtes aux lettres, qui est également expliqué ici .


wowow, incroyable !, merci beaucoup mec, ma pleine ~ / .mutt / muttrc conf: paste.ubuntu.com/1487277
Javier López

"Le collage que vous recherchez n'existe pas actuellement.", Peut-être que pastebin n'est pas le meilleur endroit pour stocker des choses à long terme. Puis-je suggérer un résumé à la place?
Intents

Vous avez raison @intentss, ma configuration est maintenant également disponible sur: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , puisque user76204 a répondu que cela venait de fonctionner parfaitement, j'ai intégré gpg dans la solution, cependant
Javier López

2

Vous pouvez utiliser plusieurs fichiers de configuration. Par exemple, vous pouvez exécuter:

  • mutt -F .muttrc-yahoo sur /dev/pts/1
  • mutt -F .muttrc-gmail sur /dev/pts/2

0

Il y a aussi un bon résumé / howto ici (GitHub). Cela pourrait être un peu plus facile à suivre ou non.

Répertoires et fichiers

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Crochets de dossier
hook de dossier 'account.com.gmail.foo' 'source ~ / .mutt / account.com.gmail.foo'
hook de dossier 'account.com.gmail.bar' 'source ~ / .mutt / account.com.gmail.bar'

# Compte par défaut
source ~ / .mutt / account.com.gmail.foo         

# Macros pour changer de compte
index de macro 'source ~ / .mutt / account.com.gmail.foo!'
index de macro 'source ~ / .mutt / account.com.gmail.bar!'

# Récupérer le raccourci de messagerie
lier index G imap-fetch-mail
~/.mutt/account.com.gmail.foo
définir imap_user = "foo@gmail.com"                       
définir imap_pass = ""                                    
set smtp_url = "smtp: //foo@smtp.gmail.com: 587 /"       
définir smtp_pass = ""                                    
défini à partir de = "foo@gmail.com"                            
set realname = "Foo"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / Brouillons"                             
set header_cache = ~ / .mutt / com.gmail.foo / cache / headers            
définir message_cachedir = ~ / .mutt / com.gmail.foo / cache / corps         
set certificate_file = ~ / .mutt / com.gmail.foo / certificats
~/.mutt/account.com.gmail.bar  
définir imap_user = "bar@gmail.com"                       
définir imap_pass = ""                                    
set smtp_url = "smtp: //bar@smtp.gmail.com: 587 /"       
définir smtp_pass = ""                                    
défini à partir de = "bar@gmail.com"                            
set realname = "Bar"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / Brouillons"                             
set header_cache = ~ / .mutt / com.gmail.bar / cache / headers            
définir message_cachedir = ~ / .mutt / com.gmail.bar / cache / corps         
définir le fichier de certificats = ~ / .mutt / com.gmail.bar / certificats
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.