Jak zarządzać wieloma kontami imap za pomocą mutta

11

Uwielbiam mutt, a wersja mutt dostarczana z Ubuntu jest niesamowita (ma nawet łataną wersję), jedynym zastrzeżeniem, jakie do tej pory znalazłem, jest to, że nie byłem w stanie zarządzać kilkoma kontami imap w tym samym czasie.

Obecnie moja konfiguracja mutt wygląda następująco:

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

Co oznacza, że ​​plik password.gpg jest odszyfrowywany w locie (gdzie mieszkają moje hasła e-mail), użyj go, aby ustawić niektóre zmienne i usunięty, a także pozyskiwany jest profil domyślny, wygląda to tak:

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

Korzystając z tego, mogę korzystać tylko z konta skonfigurowanego w profilu domyślnym. Słyszałem, że można użyć zaczepów do folderów, ale nie mam pojęcia, jak z nich korzystać, a także nie jestem pewien, czy to czego szukam, chciałbym móc po prostu pozyskiwać różne profile w zależności od tego, który e-mail chciałbym przeczytać .., Każda metoda sugestii jest mile widziana .. Wolałbym konfigurację, która nie polega w programach zewnętrznych, które nie są częścią domyślnej instalacji Ubuntu.

Javier López
źródło

Odpowiedzi:

14

Chociaż istnieje kilka przydatnych przewodników na tej stronie i ten jeden , myślałem, że po prostu pokazać wam moje rozwiązanie obecnie pracuje. Możesz zauważyć, że jest podobny do wyżej wymienionych przewodników, ale z dodatkami i różnicami: Odkryłem, że można nie używać account-hookslub folder-hooksw niektórych przypadkach. Zobacz wiki Mutt, aby zobaczyć alternatywne podejście do konfiguracji.

Zamieszczę elementy konfiguracji, a następnie opublikuję całość .muttrc, abyście mogli zobaczyć, jak wszystko do siebie pasuje.

Najłatwiej jest wprowadzić ustawienia obu kont w osobnych plikach i zapisać je w ~/.muttfolderze. Na przykład twoje dwa konta można nazwać account.gmail1i account.gmail2. Utwórz dwa pliki tekstowe o tych nazwach i postępuj zgodnie z poniższym szablonem zawartości; powinny być oba identyczne oprócz user@części; po prostu zamień wszystkie wystąpienia na swój prawdziwy adres e-mail (np. mik123@) w obu plikach.

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 = ""
  • Pamiętaj, że pozostawiłem hasło puste ( ""), co oznacza, że ​​zostaniesz o to poproszony, i to właśnie wolę, ale możesz zintegrować własne rozwiązanie, jeśli nie chcesz nadal wpisywać hasła.

  • Jeśli chcesz, aby domyślne konto było ładowane podczas uruchamiania, możesz użyć w .muttrclinii podobnej do tej, po prostu podaj własny plik konfiguracyjny.

    source "~/.mutt/account.gmail1"

  • Aby faktycznie przełączać się między kontami, umieść skrót w swoim .muttrcodnośniku do faktycznej lokalizacji i nazwy konfiguracji konta:

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

  • Będziesz mógł przełączać się między folderami na obu kontach za pomocą poleceń pagera, takich jak

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

które są zdefiniowane w twoim .muttrc; będą one nadal działać dla każdego konta (patrz mój załącznik .muttrc).

  • Przetestowałem te szczególne ustawienia z dodatkowymi ogólnymi w moim.muttrc , więc możesz użyć tego pliku i / lub zestawić go z własnymi, to zależy od Ciebie.

Teraz wystarczy załadować muttdo terminala i powinieneś być w stanie załadować jedno konto, a następnie przejść do drugiego za pomocą skrótu. Mój .muttrcjest wklejony tutaj, jeśli potrzebujesz działającego przykładu konfiguracji.

Zobacz dobry artykuł na tej stronie na Mutt i wiki Mutt, aby zapoznać się z dalszymi sposobami konfiguracji, mutttakimi jak folder-hookskojarzenie ustawień z różnymi skrzynkami pocztowymi, co również zostało wyjaśnione tutaj .


źródło
wowow, niesamowite !, wielkie dzięki, mój pełny ~ / .mutt / muttrc conf: paste.ubuntu.com/1487277
Javier López
„Pasta, której szukasz, obecnie nie istnieje”. Być może pastebin nie jest najlepszym miejscem do przechowywania rzeczy na dłuższą metę. Czy zamiast tego mogę zasugerować istotę ?
Intentss
Masz rację @intentss, moja konfiguracja jest teraz dostępna również na stronie: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , ponieważ użytkownik76204 odpowiedział, że to działa idealnie, w rozwiązaniu zintegrowałem gpg, chociaż
Javier López
2

Możesz użyć kilku plików konfiguracyjnych. Na przykład możesz uruchomić:

  • mutt -F .muttrc-yahoo na /dev/pts/1
  • mutt -F .muttrc-gmail na /dev/pts/2
leopoldotosi
źródło
0

Jest to także dobry writeup / howto tutaj (GitHub). Może być trochę łatwiej śledzić, czy nie.

Katalogi i pliki

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Haki folderów
folder-hook 'account.com.gmail.foo' 'źródło ~ / .mutt / account.com.gmail.foo'
hook-folder „account.com.gmail.bar” ​​„source ~ / .mutt / account.com.gmail.bar”

# Domyślne konto
źródło ~ / .mutt / account.com.gmail.foo         

# Makra do przełączania kont
indeks makr „source ~ / .mutt / account.com.gmail.foo!”
indeks makr „source ~ / .mutt / account.com.gmail.bar!”

# Pobierz skrót poczty
indeks powiązań G imap-fetch-mail
~/.mutt/account.com.gmail.foo
ustaw imap_user = "[email protected]"                       
set imap_pass = ""                                    
ustaw smtp_url = "smtp: //[email protected]: 587 /"       
set smtp_pass = ""                                    
ustaw z = "[email protected]"                            
ustaw realname = "Foo"                                  
ustaw folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set przełożony = „+ [Gmail] / Wersje robocze”                             
ustaw nagłówek_cache = ~ / .mutt / com.gmail.foo / cache / headers            
set message_cachedir = ~ / .mutt / com.gmail.foo / cache / body         
ustaw plik_certyfikatu = ~ / .mutt / com.gmail.foo / certyfikaty
~/.mutt/account.com.gmail.bar  
ustaw imap_user = "[email protected]"                       
set imap_pass = ""                                    
ustaw smtp_url = "smtp: //[email protected]: 587 /"       
set smtp_pass = ""                                    
ustaw z = "[email protected]"                            
set realname = "Bar"                                  
ustaw folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set przełożony = „+ [Gmail] / Wersje robocze”                             
ustaw nagłówek_cache = ~ / .mutt / com.gmail.bar / cache / headers            
set message_cachedir = ~ / .mutt / com.gmail.bar / cache / body         
ustaw plik_certyfikatu = ~ / .mutt / com.gmail.bar / certyfikaty
SD Allen
źródło