So verwalten Sie mehrere IMAP-Konten mit Mutt

11

Ich liebe Mutt und die mit Ubuntu gelieferte Mutt-Version ist fantastisch (es gibt sogar eine gepatchte Version). Die einzige Einschränkung, die ich bisher festgestellt habe, ist, dass ich nicht mehrere Imap-Konten gleichzeitig verwalten konnte.

Derzeit sieht mein Mutt-Setup folgendermaßen aus:

#$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 '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_second_mail_passwd=`awk '/[email protected]:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

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

source $HOME/.mutt/accounts/[email protected]/[email protected]

//source $HOME/.mutt/accounts/[email protected]/[email protected]

Das bedeutet, dass eine password.gpg-Datei im laufenden Betrieb entschlüsselt wird (wo meine E-Mail-Passwörter gespeichert sind), um einige Variablen festzulegen und zu löschen. Außerdem wird ein Standardprofil bezogen. Es sieht folgendermaßen aus:

#$HOME/.mutt/accounts/[email protected]/[email protected]
set folder           = "imaps://imap.foo.com"

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

set header_cache     = "$HOME/.mutt/cache/[email protected]"

set message_cachedir = "$HOME/.mutt/cache/[email protected]"

set imap_user        = "[email protected]"

set imap_pass        = $my_first_mail_passwd

set smtp_url         = "smtp://[email protected]"

set smtp_pass        = $my_first_mail_passwd

Auf diese Weise kann ich nur das im Standardprofil konfigurierte Konto verwenden. Ich habe gehört, dass Ordner-Hooks verwendet werden können, habe aber keine Ahnung, wie sie verwendet werden sollen, und bin mir auch nicht sicher, ob dies der Fall ist Was ich suche, möchte ich nur in der Lage sein, verschiedene Profile zu erstellen, je nachdem, welche E-Mail ich lesen möchte. Jede Vorschlagsmethode ist willkommen. Ich würde ein Setup bevorzugen, das sich nicht darauf verlässt auf externen Programmen, die nicht Teil einer Standard-Ubuntu-Installation sind.

Javier López
quelle

Antworten:

14

Auch wenn es einige nützliche Guides sind auf dieser Seite und dieser einen , dachte ich , ich würde Ihnen zeigen meine zur Zeit Arbeitslösung. Sie werden vielleicht bemerken, dass es den oben genannten Anleitungen ähnlich ist, aber mit Ergänzungen und Unterschieden: Ich habe festgestellt, dass es möglich ist, es nicht zu verwenden account-hooksoder folder-hooksin einigen Fällen. Siehe die Mutt Wiki für eine alternative nehmen auf diese oben zu setzen.

Ich werde die Elemente des Setups veröffentlichen und dann mein gesamtes veröffentlichen, .muttrcdamit Sie sehen können, wie alles zusammenpasst.

Es ist am einfachsten, die Einstellungen Ihrer beiden Konten in separaten Dateien einzugeben und im ~/.muttOrdner zu speichern . Als Beispiel könnten Ihre beiden Konten aufgerufen werden account.gmail1und account.gmail2. Erstellen Sie also zwei Textdateien mit diesen Namen und folgen Sie der folgenden Vorlage für den Inhalt. sie sollten bis auf das user@Teil beide identisch sein ; Ersetzen Sie einfach alle Vorkommen davon durch Ihre echte E-Mail (z. B. mik123@) in beiden Dateien.

set imap_user = "[email protected]"
set imap_pass = ""
set from = "[email protected]"
set realname = "user"
set hostname = gmail.com
set folder = "imaps://[email protected]:993"
set spoolfile = "imaps://[email protected]/INBOX"
set postponed = "imaps://[email protected]/[Gmail]/Drafts"
set record = "imaps://[email protected]/[Gmail]/Sent Mail"
set smtp_url = "smtp://[email protected]:587"
set smtp_pass = ""
  • Beachten Sie, dass ich das Passwort leer gelassen habe ( ""), was bedeutet, dass Sie dazu aufgefordert werden, und das ist es, was ich bevorzuge. Sie können jedoch Ihre eigene Lösung integrieren, wenn Sie das Passwort nicht weiter eingeben müssen.

  • Wenn Sie möchten, dass beim Start ein Standardkonto geladen wird, können Sie in .muttrceiner ähnlichen Zeile wie diese einfach Ihre eigene Konfigurationsdatei angeben.

    source "~/.mutt/account.gmail1"

  • Um tatsächlich zwischen den Konten zu wechseln, platzieren Sie eine Verknüpfung in Ihrem .muttrcVerweis auf den tatsächlichen Speicherort und den Namen Ihrer Kontokonfigurationen:

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

  • Sie können mit Pager-Befehlen wie z

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

die in Ihrem definiert sind .muttrc; Diese funktionieren weiterhin für jedes Konto (siehe meinen Anhang .muttrc).

  • Ich habe diese speziellen Einstellungen mit den zusätzlichen allgemeinen Einstellungen in meiner.muttrc getestet , sodass Sie diese Datei verwenden und / oder mit Ihren eigenen Einstellungen sortieren können. Es liegt an Ihnen.

Laden muttSie jetzt einfach das Terminal und Sie sollten in der Lage sein, ein Konto zu laden und dann über Ihre Verknüpfung zum anderen zu wechseln. My .muttrcwird hier eingefügt, wenn Sie ein funktionierendes Beispiel für eine Konfiguration benötigen.

In dem guten Artikel auf dieser Website über Mutt und im Mutt-Wiki finden Sie weitere Möglichkeiten zum Einrichten, muttz. B. folder-hookszum Verknüpfen von Einstellungen mit verschiedenen Postfächern. Dies wird auch hier erläutert .


quelle
wowow, erstaunlich!, vielen Dank, mein volles ~ / .mutt / muttrc conf: paste.ubuntu.com/1487277
Javier López
"Die Paste, nach der Sie suchen, existiert derzeit nicht.", Vielleicht ist Pastebin nicht der beste Ort, um Dinge langfristig aufzubewahren. Darf ich stattdessen einen Kern vorschlagen ?
Absichten
Sie haben Recht @intentss, meine Konfiguration ist jetzt auch verfügbar unter: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , da user76204 geantwortet hat, dass es einfach perfekt funktioniert hat, habe ich gpg in die Lösung integriert. obwohl
Javier López
2

Sie können mehrere Konfigurationsdateien verwenden. Zum Beispiel könnten Sie ausführen:

  • mutt -F .muttrc-yahoo auf /dev/pts/1
  • mutt -F .muttrc-gmail auf /dev/pts/2
Leopoldotosi
quelle
0

Es gibt auch eine gute writeup / Howto hier (GitHub). Könnte etwas einfacher zu folgen sein oder nicht.

Verzeichnisse und Dateien

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Ordner-Hooks
Ordner-Hook 'account.com.gmail.foo' 'Quelle ~ / .mutt / account.com.gmail.foo'
Ordner-Hook 'account.com.gmail.bar' 'Quelle ~ / .mutt / account.com.gmail.bar'

# Standardkonto
Quelle ~ / .mutt / account.com.gmail.foo         

# Makros zum Wechseln des Kontos
Makroindex 'source ~ / .mutt / account.com.gmail.foo!'
Makroindex 'source ~ / .mutt / account.com.gmail.bar!'

# Mail-Verknüpfung abrufen
Binden Sie den Index G imap-fetch-mail
~/.mutt/account.com.gmail.foo
setze imap_user = "[email protected]"                       
setze imap_pass = ""                                    
set smtp_url = "smtp: //[email protected]: 587 /"       
setze smtp_pass = ""                                    
set from = "[email protected]"                            
setze realname = "Foo"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
setze spoolfile = "+ INBOX"                                      
set postponed = "+ [Google Mail] / Entwürfe"                             
setze header_cache = ~ / .mutt / com.gmail.foo / cache / headers            
setze message_cachedir = ~ / .mutt / com.gmail.foo / cache / body         
setze certificate_file = ~ / .mutt / com.gmail.foo / certificates
~/.mutt/account.com.gmail.bar  
setze imap_user = "[email protected]"                       
setze imap_pass = ""                                    
set smtp_url = "smtp: //[email protected]: 587 /"       
setze smtp_pass = ""                                    
set from = "[email protected]"                            
setze realname = "Bar"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
setze spoolfile = "+ INBOX"                                      
set postponed = "+ [Google Mail] / Entwürfe"                             
setze header_cache = ~ / .mutt / com.gmail.bar / cache / headers            
setze message_cachedir = ~ / .mutt / com.gmail.bar / cache / body         
setze certificate_file = ~ / .mutt / com.gmail.bar / certificates
SD Allen
quelle