¿Por qué mutt sigue pidiendo nombre de usuario y contraseña imap?

13

Las variables de Mutt desarmado de configuración imap_user, imap_pass(y tal vez preconnect, imap_authenticatorstambién) a través de una account-hook . "unset ... "llamada, parece ser una práctica común, si no una necesidad, para manejar múltiples cuentas IMAP (véase la gestión de múltiples cuentas IMAP / POP (opcional) , Mutt IMAP de múltiples cuentas , mutt : gmail IMAP no responde , un archivo de configuración relacionado con el enlace de la cuenta en funtoo.org ).

Actualmente manejo solo una cuenta a través de IMAP. Los planes para el manejo de múltiples cuentas me llevan a seguir las instrucciones que se encuentran en el último de los enlaces mencionados anteriormente ( el ejemplo de alguien de la configuración de mutt ). Por lo tanto, de manera similar, utilicé lo siguiente:

account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
account-hook 'imaps://mail.domain.net:993/INBOX/' "set [email protected]"
account-hook 'imaps://mail.domain.net:993/INBOX/' "set imap_pass=${my_password}"

Esto se almacena en un archivo separado (con nombre account_hooks) y se obtiene desde adentro muttrc. Por razones que no entiendo, mutt sigue pidiendo el nombre de usuario y la contraseña . Sin embargo, si las variables imap_usery imap_passse establecen directamente en muttrc, p. Ej.

set my_password="`gpg --decrypt ~/.mutt/password.gpg`"
set imap_authenticators='login'
set imap_login = '[email protected]'
set imap_user = '[email protected]'
set imap_pass ="${my_password}"

Todo funciona bien. El account_hooksarchivo es el primero que se obtiene y no existen otras account-hook . "unset ..."llamadas en ningún otro lugar.

Actualización , el folder-hooksarchivo es (y fue, creo) de la siguiente manera:

#--------------------------------------------------------------------------
# Folders and hooks
#--------------------------------------------------------------------------
# folder-hook 'imaps://UserName%[email protected]:993/'
set folder = "~/.maildir"       # IMAP: local, using offlineimap -- folder="imaps://mail.domain.net:993/INBOX/"
source ~/.mutt/mailboxes        # source automatically generated mailboxes
set spoolfile = "+INBOX"        # spoolfile='imaps://mail.domain.net:993/'
set postponed = "+INBOX/Drafts"

# Sending -----------------------------------------------------------------
set smtp_url="smtp://[email protected]@mail.domain.net:587/"
set smtp_pass=${my_password}
set record = "+INBOX/Sent"
set copy=yes

# Index format ----------------------------------------------------------------
folder-hook *[sS]ent* 'set sort=threads'
folder-hook *[sS]ent* 'set sort_browser=reverse-date'
folder-hook *[sS]ent* 'set sort_aux=reverse-last-date-received'
folder-hook *[sS]ent* 'set index_format="%2C | %Z [%d] %-30.30t (%-4.4c) %s"'
folder-hook ! *[sS]ent* 'set index_format="%2C | %Z [%d] %-30.30F (%-4.4c) %s"':

¿Por qué, el archivo separado account_hooks , no alimenta correctamente las variables de interés en este caso (es decir, imap_user e imap_pass )?

Nikos Alexandris
fuente
Si todavía está interesado en la respuesta, me gustaría ver las folder-hooklíneas que tiene en su .muttrc. Entonces puedo sacar algunas conclusiones y ofrecer una solución completa.
lord.garbage
1
@brauner, muy tarde y ocupado, disculpas. No he encontrado el tiempo para experimentar más con esto, ya que no lo necesitaba. Tengo que rastrear la folder-hookconfiguración que usé en ese momento, supongo que tengo una copia de seguridad.
Nikos Alexandris
¿puedes publicar un archivo de depuración de 'mutt -d 5'?
asdmin
@asdmin por el momento, la respuesta es DEBUG was not defined during compilation. Ignored.. Una vez que encuentre algo de tiempo, recompilaré y volveré a publicar.
Nikos Alexandris
@kyrias thnx para ediciones
Nikos Alexandris

Respuestas:

3

Puede configurar el nombre de usuario y la contraseña directamente, pero no funciona cuando usa un account-hook, por lo que probablemente account-hookno funcione.

Un account-hookconsiste en una expresión regular para los buzones y los comandos que deben ejecutarse si un buzón coincide con la expresión regular .

Como los comandos ( set imap_user, set imap_pass) no se ejecutan, podemos suponer que regexpno coincidieron con sus buzones.

Está utilizando 'imaps: //mail.domain.net: 993 / INBOX /', que es muy específico. Probablemente sus buzones se denominan ligeramente diferentes.

¿Es esta la única cuenta de correo mail.domain.netque está utilizando? Si es así, reducir la expresión regular a 'mail.domain.net'debería ser suficiente para que coincida con sus buzones.

account-hook . 'unset imap_user; unset imap_pass; unset tunnel
account-hook mail.domain.net "set [email protected]"
account-hook mail.domain.net "set imap_pass=${my_password}"
Thomas Weinbrenner
fuente
Regresé a resolver esto. Lo más probable es que su interpretación sea correcta. Espero verificar esto pronto. Gracias.
Nikos Alexandris
Si ambos set imap_usery set imap_passno se ejecutan, ¿por qué me piden una contraseña para Password for [email protected]:entonces? ¿Exactamente la identificación de usuario y el dominio establecidos account-hooken el account-hooksarchivo?
Nikos Alexandris
Lo tengo arreglado! Creo que me faltaba proporcionar el ${my_password}correcto para la smtp_passvariable. Fue ${password}...: - /
Nikos Alexandris
Con respecto a mi último comentario, después de múltiples ediciones experimentales, parece que lo usé erróneamente "${password}", en lugar de "${my_password}". El account-hooksarchivo parece funcionar durante al menos 2 cuentas, ahora, correctamente. Y otro tercero para el que se queda estancado en otro problema, a saber, un SSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol. Pero eso no está directamente relacionado con la pregunta formulada y respondida aquí. Entonces, excluyendo "errores tipográficos", el problema, inicialmente, fue de hecho regexpno coincidir con los buzones en cuestión.
Nikos Alexandris