Come gestire più account imap con mutt


11

Adoro mutt e la versione mutt fornita con Ubuntu è fantastica (ha anche una versione patchata), l'unico avvertimento che ho trovato finora è che non ero stato in grado di gestire diversi account imap allo stesso tempo.

Attualmente la mia configurazione di mutt è simile a questa:

#$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

Ciò significa che un file password.gpg viene decrittografato al volo (dove vivono le mie password di posta elettronica) lo usa per impostare alcuni parametri e cancellato, inoltre viene fornito un profilo predefinito, assomiglia a questo:

#$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

Usando questo, sono solo in grado di utilizzare l'account configurato nel profilo predefinito .., ho sentito che è possibile utilizzare gli hook delle cartelle ma non ho idea di come usarli e non sono nemmeno sicuro che sia quello che sto cercando, vorrei solo essere in grado di creare diversi profili a seconda dell'email che vorrei leggere .., Qualsiasi metodo di suggerimento è il benvenuto .., Preferirei un'installazione che non si basa su programmi esterni che non fanno parte di un'installazione predefinita di Ubuntu.

Risposte:


14

Anche se ci sono alcune guide utili su questo sito e su questo , ho pensato di mostrarti la mia soluzione attualmente funzionante. Potresti notare che è simile alle guide di cui sopra, ma con aggiunte e differenze: ho scoperto che è possibile non utilizzare account-hookso folder-hooksin alcuni casi. Consulta la wiki di Mutt per un approccio alternativo alla configurazione.

Pubblicherò gli elementi del setup e poi pubblicherò il mio intero in .muttrcmodo da poter vedere come si adatta tutto insieme.

È più semplice inserire le impostazioni di entrambi i tuoi account in file separati e salvarli nella ~/.muttcartella. Ad esempio, i tuoi due account potrebbero essere chiamati account.gmail1e account.gmail2. Quindi crea due file di testo con quei nomi e segui questo modello qui sotto per i contenuti; dovrebbero essere entrambi identici a parte la user@parte; sostituisci tutte le occorrenze di ciò con la tua vera e-mail (ad es. mik123@) in entrambi i file.

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 = ""
  • Nota che ho lasciato vuota la password ( ""), il che significa che ti verrà richiesto, ed è quello che preferisco, ma puoi integrare la tua soluzione se non vuoi continuare a inserire la password.

  • Se si desidera caricare un account predefinito all'avvio, è possibile utilizzare .muttrcuna riga simile a questa, basta specificare il proprio file di configurazione.

    source "~/.mutt/account.gmail1"

  • Per passare effettivamente da un account all'altro, inserisci un collegamento nel .muttrcriferimento alla posizione e al nome effettivi delle configurazioni del tuo account:

    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>'

  • Sarai in grado di passare tra le cartelle all'interno di entrambi gli account con comandi di cercapersone come

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

che sono definiti nel tuo .muttrc; funzioneranno comunque per ogni account (vedi il mio allegato .muttrc).

  • Ho testato queste impostazioni particolari con quelle generali aggiuntive nella mia.muttrc , quindi puoi usare quel file e / o confrontarlo con il tuo, dipende da te.

Ora basta caricare muttnel terminale e dovresti essere in grado di caricare un account e poi passare all'altro usando il tuo collegamento. My .muttrcè incollato qui se hai bisogno di un esempio funzionante di una configurazione.

Vedi il buon articolo su questo sito su Mutt e la wiki di Mutt per ulteriori modi di impostazione mutt, come l'uso folder-hooksper associare le impostazioni a varie cassette postali, che è anche spiegato qui .


wowow, fantastico! grazie mille amico, la mia conf confidenza ~ / .mutt / muttrc completa: paste.ubuntu.com/1487277
Javier López,

"Al momento la pasta che stai cercando non esiste.", Forse pastebin non è il posto migliore dove conservare cose a lungo termine. Potrei suggerire un succo invece?
Intende il

Hai ragione @intentss, la mia configurazione ora è disponibile anche su: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , poiché user76204 ha risposto che ha funzionato perfettamente, ho integrato gpg nella soluzione, comunque
Javier López il

2

È possibile utilizzare diversi file di configurazione. Ad esempio, puoi eseguire:

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

0

C'è anche un buon commento / howto qui (GitHub). Potrebbe essere un po 'più facile da seguire, oppure no.

Directory e file

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Ganci per cartelle
hook-cartella 'account.com.gmail.foo' 'source ~ / .mutt / account.com.gmail.foo'
hook-cartella 'account.com.gmail.bar' 'source ~ / .mutt / account.com.gmail.bar'

# Account predefinito
fonte ~ / .mutt / account.com.gmail.foo         

# Macro per cambiare account
indice macro "source ~ / .mutt / account.com.gmail.foo!"
indice macro "source ~ / .mutt / account.com.gmail.bar!"

# Recupera scorciatoia posta
indice bind G imap-fetch-mail
~/.mutt/account.com.gmail.foo
set imap_user = "foo@gmail.com"                       
set imap_pass = ""                                    
set smtp_url = "smtp: //foo@smtp.gmail.com: 587 /"       
set smtp_pass = ""                                    
impostato da = "foo@gmail.com"                            
set realname = "Foo"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / Bozze"                             
set header_cache = ~ / .mutt / com.gmail.foo / cache / headers            
imposta message_cachedir = ~ / .mutt / com.gmail.foo / cache / bodies         
impostare certificate_file = ~ / .mutt / com.gmail.foo / certificati
~/.mutt/account.com.gmail.bar  
set imap_user = "bar@gmail.com"                       
set imap_pass = ""                                    
set smtp_url = "smtp: //bar@smtp.gmail.com: 587 /"       
set smtp_pass = ""                                    
impostato da = "bar@gmail.com"                            
set realname = "Bar"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / Bozze"                             
set header_cache = ~ / .mutt / com.gmail.bar / cache / headers            
imposta message_cachedir = ~ / .mutt / com.gmail.bar / cache / bodies         
impostare certificate_file = ~ / .mutt / com.gmail.bar / certificati
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.