it-swarm.com.de

So verwalten Sie mehrere IMAP-Konten mit mutt

Ich liebe Mutt, und die mit Ubuntu gelieferte Mutt-Version ist fantastisch (sie hat sogar eine gepatchte Version). Die einzige Einschränkung, die ich bisher festgestellt habe, ist, dass ich nicht in der Lage war, mehrere IMAP-Konten gleichzeitig zu verwalten.

Momentan sieht mein Mutt-Setup so 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 leben). Verwenden Sie diese, um einige Variablen festzulegen und zu löschen. Außerdem wird ein Standardprofil verwendet, das wie folgt aussieht:

#$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 Nach was ich suche, möchte ich nur in der Lage sein, verschiedene Profile zu erstellen, abhängig davon, welche E-Mail ich lesen möchte. Jede Vorschlagsmethode ist willkommen. Ich würde ein Setup vorziehen, das sich nicht darauf verlässt auf externen Programmen, die nicht Teil einer Ubuntu-Standardinstallation sind.

10
Javier López

Obwohl es einige nützliche Anleitungen gibt auf dieser Site und diese , dachte ich, ich würde Ihnen nur meine derzeit funktionierende Lösung zeigen. Sie werden vielleicht bemerken, dass es den oben genannten Handbüchern ähnlich ist, aber mit Ergänzungen und Unterschieden: Ich habe festgestellt, dass es in einigen Fällen möglich ist, account-hooks oder folder-hooks nicht zu verwenden. Siehe das Mutt-Wiki für eine alternative Einstellung.

Ich werde die Elemente des Setups veröffentlichen und dann meinen gesamten .muttrc veröffentlichen, damit Sie sehen können, wie alles zusammenpasst.

Am einfachsten ist es, die Einstellungen beider Konten in separaten Dateien einzugeben und im Ordner ~/.mutt zu speichern. Beispielsweise könnten Ihre beiden Konten account.gmail1 und account.gmail2 heißen. Erstellen Sie also zwei Textdateien mit diesen Namen und befolgen Sie diese Vorlage für den Inhalt. Sie sollten bis auf den Teil [email protected] identisch sein. Ersetzen Sie einfach alle Vorkommen durch Ihre echte E-Mail (z. B. [email protected]) 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, aber Sie können Ihre eigene Lösung integrieren, wenn Sie nicht weiter eingeben müssen das Passwort.

  • Wenn Sie möchten, dass ein Standardkonto beim Start geladen wird, können Sie in Ihrem .muttrc eine ähnliche Zeile wie diese verwenden. Geben Sie einfach Ihre eigene Konfigurationsdatei an.

    source "~/.mutt/account.gmail1"

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

    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 zwischen Ordnern in beiden Konten wechseln, z

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

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

  • Ich habe diese speziellen Einstellungen mit den zusätzlichen allgemeinen Einstellungen in my .muttrc getestet, damit Sie diese Datei verwenden und/oder mit Ihren eigenen zusammenstellen können.

Laden Sie nun einfach mutt in das Terminal und Sie sollten in der Lage sein, ein Konto aufzuladen und dann mit Ihrer Verknüpfung auf das andere Konto zu wechseln. Mein .muttrc ist hier eingefügt , wenn Sie ein funktionierendes Beispiel für eine Konfiguration benötigen.

Lesen Sie den guten Artikel auf dieser Site über Mutt und das Mutt-Wiki , um weitere Möglichkeiten zum Einrichten von mutt zu finden, z. B. die Verwendung von folder-hooks, um Einstellungen zuzuordnen verschiedene Mailboxen, die auch hier erklärt .

13
user76204

Sie können mehrere Konfigurationsdateien verwenden. Sie könnten beispielsweise Folgendes ausführen:

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

Es gibt auch eine gute Anleitung hier (GitHub). Könnte ein bisschen 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. Leiste '' Quelle ~/.mutt/account.com.gmail.bar '
 
 # Standardkonto 
 Quelle ~/.mutt/account.com.gmail.foo 
 
 # Makros zum Wechseln des Kontos 
 Makroindex 'Quelle ~/.mutt/account.com.gmail.foo!' 
 Makroindex 'Quelle ~/.mutt/account.com.gmail.bar! '
 
 # Mail-Verknüpfung abrufen 
 Index G imap-Fetch-Mail binden
~/.mutt/account.com.gmail.foo
set imap_user = "[email protected]" 
 set imap_pass = "" 
 set smtp_url = "smtp: //[email protected]: 587 /" 
 set smtp_pass = "" 
 set from = "[email protected]" 
 set realname = "Foo" 
 set folder = "imaps: //imap.gmail.com: 993 "
 set spoolfile =" + INBOX "
 set postponed =" + [Gmail]/Drafts "
 set header_cache = ~/.mutt/com.gmail.foo/cache/headers 
 set message_cachedir = ~/.mutt/com.gmail.foo/cache/bodies 
 set certificate_file = ~/.mutt/com.gmail.foo/certificates
~/.mutt/account.com.gmail.bar  
set imap_user = "[email protected]" 
 set imap_pass = "" 
 set smtp_url = "smtp: //[email protected]: 587 /" 
 set smtp_pass = "" 
 set from = "[email protected]" 
 set realname = "Bar" 
 set folder = "imaps: //imap.gmail.com: 993 "
 set spoolfile =" + INBOX "
 set postponed =" + [Gmail]/Drafts "
 set header_cache = ~/.mutt/com.gmail.bar/cache/headers 
 set message_cachedir = ~/.mutt/com.gmail.bar/cache/bodies 
 set certificate_file = ~/.mutt/com.gmail.bar/certificates
0
SD Allen