Как управлять несколькими учетными записями imap с Mutt
Я люблю Mutt, и версия Mutt, поставляемая с Ubuntu, потрясающая (у нее даже есть исправленная версия), единственное предостережение, которое я обнаружил, это то, что я не смог управлять несколькими учетными записями imap одновременно.
В настоящее время моя установка дурака выглядит так:
#$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 по умолчанию.
3 ответа
Несмотря на то, что на этом сайте есть несколько полезных руководств, я подумал, что просто покажу вам мое текущее работающее решение. Вы можете заметить, что это похоже на вышеупомянутые руководства, но с дополнениями и отличиями: я обнаружил, что можно не использовать account-hooks
или же folder-hooks
в некоторых случаях. Посмотрите вики Mutt для альтернативного подхода к настройке этого.
Я опубликую элементы установки, а затем выложу всю свою .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
вставляется сюда, если вам нужен рабочий пример конфигурации.
См. Хорошую статью на этом сайте о Mutt и вики Mutt для дальнейших способов настройки mutt
такие как использование folder-hooks
связывать настройки с различными почтовыми ящиками, что также объясняется здесь.
Вы можете использовать несколько файлов конфигурации. Например, вы можете запустить:
mutt -F .muttrc-yahoo
на/dev/pts/1
mutt -F .muttrc-gmail
на/dev/pts/2
Здесь также есть хорошая рецензия / описание (GitHub). Может быть немного легче следовать или нет.
Каталоги и файлы
~/ |── .mutt/ | Account── account.com.gmail.foo | Account── account.com.gmail.bar | Com── com.gmail.foo/ | Com── com.gmail.bar/ M──.muttrc
~/.muttrc
# Папки с крючками папка-ловушка 'account.com.gmail.foo' 'source ~/.mutt/account.com.gmail.foo' папка-ловушка 'account.com.gmail.bar' 'source ~ /.mutt / account.com.gmail.bar' # Аккаунт по умолчанию источник ~ /.mutt / account.com.gmail.foo # Макросы для переключения аккаунтов макро индекс 'source ~/.mutt/account.com.gmail.foo!' макро индекс 'source ~ /.mutt / account.com.gmail.bar!' # Получить ярлык почты индекс привязки 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 = "" установить из = "foo@gmail.com" set realname = "Foo" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed = "+[Gmail]/ Черновики" set header_cache = ~/.mutt/com.gmail.foo/cache/headers set message_cachedir = ~/.mutt/com.gmail.foo/cache/body установить сертификат_файл = ~ /.mutt / com.gmail.foo / сертификаты
~/.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 = "" установить из = "bar@gmail.com" set realname = "Bar" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed = "+[Gmail]/ Черновики" set header_cache = ~/.mutt/com.gmail.bar/cache/headers set message_cachedir = ~/.mutt/com.gmail.bar/cache/body установить сертификат_файл = ~ /.mutt / com.gmail.bar / сертификаты