Cómo administrar múltiples cuentas imap con mutt


11

Me encanta mutt, y la versión de mutt incluida con Ubuntu es increíble (incluso tiene una versión parcheada), la única advertencia que he encontrado hasta ahora es que no había podido administrar varias cuentas imap al mismo tiempo.

Actualmente mi configuración de mutt se ve así:

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

Lo que significa que un archivo password.gpg se descifra sobre la marcha (donde viven mis contraseñas de correo electrónico) lo usa para establecer algunos vars y se elimina, también se obtiene un perfil predeterminado, se ve así:

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

Al usar esto, solo puedo usar la cuenta configurada en el perfil predeterminado ..., escuché que se pueden usar enlaces de carpeta pero no tengo idea de cómo usarlos, y tampoco estoy seguro de si eso es lo que estoy buscando, me gustaría poder obtener diferentes perfiles dependiendo de qué correo electrónico me gustaría leer ..., cualquier método de sugerencia es bienvenido ... preferiría una configuración que no confíe en programas externos que no forman parte de una instalación predeterminada de Ubuntu.

Respuestas:


14

Aunque hay algunas guías útiles en este sitio y en este , pensé que solo le mostraría mi solución que funciona actualmente. Puede notar que es similar a las guías mencionadas anteriormente, pero con adiciones y diferencias: he descubierto que es posible no usarlo account-hookso, folder-hooksen algunos casos, no. Vea el wiki de Mutt para una versión alternativa de cómo configurar esto.

Publicaré los elementos de la configuración y luego publicaré todo .muttrcpara que pueda ver cómo encaja todo.

Es más fácil ingresar la configuración de ambas cuentas en archivos separados y guardarlos en la ~/.muttcarpeta. Como ejemplo, sus dos cuentas podrían llamarse account.gmail1y account.gmail2. Así que cree dos archivos de texto con esos nombres y siga esta plantilla a continuación para los contenidos; ambos deberían ser idénticos aparte de la user@parte; simplemente reemplace todas las apariciones de eso con su correo electrónico real (por ejemplo mik123@) en ambos archivos.

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 = ""
  • Tenga en cuenta que he dejado la contraseña en blanco ( ""), lo que significa que se le solicitará, y eso es lo que prefiero, pero puede integrar su propia solución si no desea seguir ingresando la contraseña.

  • Si desea que se cargue una cuenta predeterminada al inicio, puede usar .muttrcuna línea similar a esta, solo especifique su propio archivo de configuración.

    source "~/.mutt/account.gmail1"

  • Para cambiar realmente entre las cuentas, coloque un acceso directo en su .muttrcreferencia a la ubicación real y el nombre de las configuraciones de su cuenta:

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

  • Podrá cambiar entre carpetas dentro de ambas cuentas con comandos de buscapersonas como

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

que se definen en tu .muttrc; estos seguirán funcionando para cada cuenta (ver mi adjunto .muttrc).

  • Probé estas configuraciones particulares con las generales adicionales en mi.muttrc , para que pueda usar ese archivo y / o cotejarlo con el suyo, depende de usted.

Ahora solo carga mutten la terminal y deberías poder cargar una cuenta y luego cambiar a la otra usando tu acceso directo. Mi .muttrcse pega aquí si necesita un ejemplo funcional de una configuración.

Vea el buen artículo en este sitio en Mutt y el wiki de Mutt para obtener más formas de configuración mutt, como el uso folder-hookspara asociar ajustes con varios buzones, que también se explica aquí .


wowow, increíble !, muchas gracias amigo, mi completo ~ / .mutt / muttrc conf: paste.ubuntu.com/1487277
Javier López

"La pasta que está buscando no existe actualmente", quizás Pastebin no sea el mejor lugar para almacenar cosas a largo plazo. ¿Puedo sugerir una esencia en su lugar?
Intentss

Tienes razón @intentss, mi configuración ahora también está disponible en: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrc , ya que el usuario76204 respondió que simplemente funcionó perfectamente, he integrado gpg en la solución, aunque
Javier López

2

Puede usar varios archivos de configuración. Por ejemplo, podría ejecutar:

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

0

También hay un buen escrito / howto aquí (GitHub). Puede ser un poco más fácil de seguir, o no.

Directorios y archivos

~ /
| ── .mutt /
El | ├── account.com.gmail.foo
El | ├── account.com.gmail.bar
El | ├── com.gmail.foo/
El | └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# Ganchos de carpeta
carpeta-hook 'account.com.gmail.foo' 'fuente ~ / .mutt / account.com.gmail.foo'
carpeta-hook 'account.com.gmail.bar' 'fuente ~ / .mutt / account.com.gmail.bar'

# Cuenta predeterminada
fuente ~ / .mutt / account.com.gmail.foo         

# Macros para cambiar de cuenta
índice macro 'source ~ / .mutt / account.com.gmail.foo!'
índice macro 'source ~ / .mutt / account.com.gmail.bar!'

# Obtener acceso directo de correo
índice de enlace 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 = ""                                    
establecido desde = "foo@gmail.com"                            
set realname = "Foo"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set posponed = "+ [Gmail] / Drafts"                             
set header_cache = ~ / .mutt / com.gmail.foo / cache / headers            
set message_cachedir = ~ / .mutt / com.gmail.foo / cache / bodies         
establecer archivo_certificado = ~ / .mutt / com.gmail.foo / certificados
~/.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 = ""                                    
establecido desde = "bar@gmail.com"                            
set realname = "Bar"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set posponed = "+ [Gmail] / Drafts"                             
set header_cache = ~ / .mutt / com.gmail.bar / cache / headers            
set message_cachedir = ~ / .mutt / com.gmail.bar / cache / bodies         
establecer archivo_certificado = ~ / .mutt / com.gmail.bar / certificados
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.