Como gerenciar várias contas do imap com mutt


11

Eu amo o mutt, e a versão mutt fornecida com o Ubuntu é incrível (ele ainda tem uma versão corrigida), a única ressalva que eu encontrei até agora é que não consegui gerenciar várias contas do imap ao mesmo tempo.

Atualmente, minha configuração de mutt se parece com isso:

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

O que significa que um arquivo password.gpg é descriptografado em tempo real (onde minhas senhas de e-mail ficam), use-o para definir alguns vars e excluídos; também é fornecido um perfil padrão, com a seguinte aparência:

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

Usando isso, só consigo usar a conta configurada no perfil padrão. Ouvi dizer que os ganchos de pastas podem ser usados, mas não faço ideia de como usá-los e também não tenho certeza se isso é possível. o que estou procurando, eu gostaria de poder obter perfis diferentes, dependendo do e-mail que gostaria de ler .. Qualquer método de sugestão é bem-vindo .., eu prefiro uma configuração que não confie em programas externos que não fazem parte de uma instalação padrão do Ubuntu.

Respostas:


14

Embora existam alguns guias úteis neste site e neste , pensei em mostrar a minha solução atualmente em funcionamento. Você pode notar que é semelhante aos guias mencionados acima, mas com acréscimos e diferenças: eu achei possível não usar account-hooksou, folder-hooksem alguns casos. Veja o wiki do Mutt para uma visão alternativa sobre como configurar isso.

Vou postar os elementos da instalação e depois postar todo o meu, .muttrcpara que você possa ver como tudo se encaixa.

É mais fácil inserir as configurações de ambas as suas contas em arquivos separados e salvá-las na ~/.muttpasta. Como exemplo, suas duas contas podem ser chamadas account.gmail1e account.gmail2. Portanto, crie dois arquivos de texto com esses nomes e siga este modelo abaixo para o conteúdo; ambos devem ser idênticos separados da user@parte; basta substituir todas as ocorrências disso pelo seu email real (por exemplo mik123@) nos dois arquivos.

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 = ""
  • Observe que deixei a senha em branco ( ""), o que significa que você será solicitado, e é isso que eu prefiro, mas você pode integrar sua própria solução se não quiser continuar digitando a senha.

  • Se você deseja que uma conta padrão seja carregada na inicialização, você pode usar .muttrcuma linha semelhante a essa, basta especificar seu próprio arquivo de configuração.

    source "~/.mutt/account.gmail1"

  • Para realmente alternar entre as contas, coloque um atalho ao .muttrcse referir à localização real e ao nome das configurações da sua conta:

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

  • Você poderá alternar entre pastas nas duas contas com comandos de pager, como

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

que são definidos no seu .muttrc; eles ainda funcionarão para cada conta (veja meu anexo .muttrc).

  • Eu testei essas configurações em particular com as gerais gerais da minha.muttrc , para que você possa usar esse arquivo e / ou agrupá-lo por conta própria, é com você.

Agora basta carregar muttno terminal e você poderá carregar uma conta e depois mudar para a outra usando seu atalho. Meu .muttrcé colado aqui se você precisar de um exemplo funcional de uma configuração.

Veja o bom artigo deste site no Mutt e no wiki do Mutt para obter outras formas de configuração mutt, como usar folder-hookspara associar configurações a várias caixas de correio, o que também é explicado aqui .


wowow, incríveis !, graças um cara muito, minha total ~ / .mutt / Muttrc conf: paste.ubuntu.com/1487277
Javier López

"No momento, a pasta que você está procurando não existe.", Talvez o pastebin não seja o melhor lugar para armazenar coisas a longo prazo. Posso sugerir uma essência ?
Intentss 22/02

Você está certo @intentss, minha configuração agora também está disponível em: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , desde que o user76204 respondeu que funcionou perfeitamente, integrei o gpg na solução, embora
Javier López

2

Você pode usar vários arquivos de configuração. Por exemplo, você pode executar:

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

0

Também há um bom artigo / howto aqui (GitHub). Pode ser um pouco mais fácil de seguir, ou não.

Diretórios e arquivos

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| .G── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Ganchos de pasta
folder-hook 'account.com.gmail.foo' 'fonte ~ / .mutt / account.com.gmail.foo'
folder-hook 'account.com.gmail.bar' 'source ~ / .mutt / account.com.gmail.bar'

# Conta padrão
fonte ~ / .mutt / account.com.gmail.foo         

# Macros para alternar contas
índice de macro 'fonte ~ / .mutt / account.com.gmail.foo!'
índice de macro 'fonte ~ / .mutt / account.com.gmail.bar!'

# Buscar atalho de email
índice de ligação G imap-fetch-mail
~/.mutt/account.com.gmail.foo
defina imap_user = "foo@gmail.com"                       
defina imap_pass = ""                                    
set smtp_url = "smtp: //foo@smtp.gmail.com: 587 /"       
defina smtp_pass = ""                                    
definido de = "foo@gmail.com"                            
set realname = "Foo"                                  
definir pasta = "imaps: //imap.gmail.com: 993"                     
definir spoolfile = "+ INBOX"                                      
definir adiado = "+ [Gmail] / rascunhos"                             
definir header_cache = ~ / .mutt / com.gmail.foo / cache / headers            
configure message_cachedir = ~ / .mutt / com.gmail.foo / cache / body         
configure certificate_file = ~ / .mutt / com.gmail.foo / certificados
~/.mutt/account.com.gmail.bar  
defina imap_user = "bar@gmail.com"                       
defina imap_pass = ""                                    
definir smtp_url = "smtp: //bar@smtp.gmail.com: 587 /"       
defina smtp_pass = ""                                    
definido a partir de = "bar@gmail.com"                            
set realname = "Bar"                                  
definir pasta = "imaps: //imap.gmail.com: 993"                     
definir spoolfile = "+ INBOX"                                      
definir adiado = "+ [Gmail] / rascunhos"                             
definir header_cache = ~ / .mutt / com.gmail.bar / cache / headers            
configure message_cachedir = ~ / .mutt / com.gmail.bar / cache / body         
defina o arquivo do certificado = ~ / .mutt / com.gmail.bar / certificados
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.