Как управлять несколькими учетными записями imap с Mutt

Мне нравится Mutt, и версия Mutt, поставляемая с Ubuntu, потрясающая (у нее даже есть исправленная версия), единственное замечание, которое я обнаружил, это то, что я не смог управлять несколькими учетными записями imap одновременно .

В настоящее время мои настройки Mutt выглядят так:

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

Это означает, что файл password.gpg дешифруется на лету (где живут мои пароли электронной почты), использует его для установки некоторых переменных и удаления, а также Профиль по умолчанию получен, он выглядит следующим образом:

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

Используя это, я могу использовать только учетную запись, настроенную в профиле по умолчанию ..., я слышал, что можно использовать перехватчики папок но я не знаю, как их использовать, и я также не уверен, что это то, что я ищу, я хотел бы просто иметь возможность получать разные профили в зависимости от того, какую электронную почту я хотел бы прочитать .. , Любой метод предложения приветствуется. Я бы предпочел установку, которая не полагается на внешние программы, которые не являются частью установки Ubuntu по умолчанию.

10
задан 10 July 2012 в 21:03

3 ответа

Даже при том, что существуют некоторые полезные руководства по этому сайту и этому, я думал, что просто покажу Вам свое в настоящее время рабочее решение. Вы могли бы отметить, что это подобно вышеупомянутым руководствам, но с дополнениями и различиями: Я нашел, что возможно не использовать account-hooks или folder-hooks в некоторых случаях. Посмотрите Дурака, Wiki для альтернативы берет установку этого.

Я отправлю элементы установки и затем отправлю мое все .muttrc таким образом, Вы видите, как все это совмещается.

Является самым легким ввести настройки обеих из Ваших учетных записей в отдельных файлах и сохранить их в ~/.mutt папка. Как пример, можно было назвать Ваши две учетных записи account.gmail1 и account.gmail2. Поэтому создайте два текстовых файла с теми именами и следуйте за этим шаблоном ниже для содержания; они должны быть оба идентичными кроме user@ часть; просто замените все случаи этого с Вашей реальной электронной почтой (например. mik123@) в обоих файлах.

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 = ""
  • Обратите внимание, что я оставил незаполненный пароль (""), что означает, что Вам предложат его, и именно это я предпочитаю, но можно интегрировать собственное решение, если Вы не хотите должными быть продолжать вводить пароль.

  • Если Вы хотите учетную запись по умолчанию, загруженную при запуске, можно использовать в Вашем .muttrc подобная строка к этому, просто укажите свой собственный файл конфигурации.

    source "~/.mutt/account.gmail1"

  • Для фактического переключения между учетными записями поместите ярлык в Ваш .muttrc обращение к фактическому местоположению и названию конфигураций учетной записи:

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

  • Вы сможете переключить между папками в рамках обеих учетных записей с командами пейджера такой как

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

это определяется в Вашем .muttrc; они будут все еще работать на каждую учетную запись (см. мое приложенное .muttrc).

  • Я протестировал эти конкретные настройки с дополнительными общими в моем .muttrc, таким образом, можно использовать тот файл и/или сопоставить его с собственным, Вам решать.

Теперь просто загрузка mutt в терминале и необходимо смочь загрузить одну учетную запись и затем переключиться на другую с помощью ярлыка. Мой .muttrc вставляется здесь, если Вам нужен рабочий пример конфигурации.

См. хорошую статью об этом сайте на Дураке и Дураке Wiki для дальнейших способов настроить mutt такой как использование folder-hooks связать настройки с различными почтовыми ящиками, который также объяснен здесь.

13
ответ дан 10 July 2012 в 21:03

Вы можете использовать несколько файлов конфигурации. Например, вы можете выполнить:

  • mutt -F .muttrc-yahoo на /dev/pts/1
  • mutt -F .muttrc-gmail на /dev/pts/2
0
ответ дан 10 July 2012 в 21:03

Здесь также есть хорошая рецензия / руководство (GitHub). Может быть немного легче следовать или нет.

Каталоги и файлы

~/
|── .mutt/
|   ├── account.com.gmail.foo
|   ├── account.com.gmail.bar
|   ├── com.gmail.foo/
|   └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Folder hooks
folder-hook 'account.com.gmail.foo' 'source ~/.mutt/account.com.gmail.foo'
folder-hook 'account.com.gmail.bar' 'source ~/.mutt/account.com.gmail.bar'

# Default account
source ~/.mutt/account.com.gmail.foo         

# Macros for switching accounts
macro index  'source ~/.mutt/account.com.gmail.foo!'
macro index  'source ~/.mutt/account.com.gmail.bar!'

# Fetch mail shortcut
bind index 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 = ""                                    
set from = "foo@gmail.com"                            
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 = "bar@gmail.com"                       
set imap_pass = ""                                    
set smtp_url = "smtp://bar@smtp.gmail.com:587/"       
set smtp_pass = ""                                    
set from = "bar@gmail.com"                            
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
ответ дан 10 July 2012 в 21:03

Другие вопросы по тегам:

Похожие вопросы: