Pourquoi mutt continue-t-il de demander un nom d'utilisateur et un mot de passe imap?


13

Les variables de configuration de MHS Mutt imap_user, imap_pass(et peut - être preconnect, imap_authenticatorsaussi bien) via un account-hook . "unset ... "appel, semble être une pratique courante, sinon une nécessité, de gérer plusieurs comptes imap (voir Gestion de plusieurs comptes IMAP / POP ( en option) , plusieurs comptes de Mutt , Mutt : gmail IMAP ne répond pas , un fichier de configuration lié au hook de compte dans funtoo.org ).

Actuellement, je ne gère qu'un seul compte via IMAP. Les plans de gestion de comptes multiples m'ont amené à suivre les instructions trouvées dans le dernier des liens mentionnés ci-dessus ( l'exemple de la configuration mutt de quelqu'un ). Par conséquent, d'une manière similaire, j'ai utilisé ce qui suit:

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

Ceci est stocké dans un fichier séparé (nommé account_hooks) et provenant de l'intérieur muttrc. Pour des raisons que je ne comprends pas, mutt continue de demander le nom d'utilisateur et le mot de passe . Cependant, si les variables imap_useret imap_passsont définies directement dans muttrc, par exemple

set my_password="`gpg --decrypt ~/.mutt/password.gpg`"
set imap_authenticators='login'
set imap_login = 'UserName@domain.net'
set imap_user = 'UserName@domain.net'
set imap_pass ="${my_password}"

tout fonctionne bien. Le account_hooksfichier est le premier à provenir et aucun autre account-hook . "unset ..."appel n'existe ailleurs.

Mise à jour , le folder-hooksfichier est (et était, je pense) comme suit:

#--------------------------------------------------------------------------
# Folders and hooks
#--------------------------------------------------------------------------
# folder-hook 'imaps://UserName%domain.net@mail.domain.net: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://UserName@domain.net@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"':

Pourquoi le fichier séparé account_hooks ne nourrit-il pas correctement les variables d'intérêt dans ce cas (c'est-à-dire imap_user et imap_pass )?


Si vous êtes toujours intéressé par la réponse, j'aimerais voir les folder-hooklignes que vous avez dans votre .muttrc. Ensuite, je pourrai tirer quelques conclusions et proposer une solution complète.
— lord.garbage

1
@brauner, si tard et si occupé, toutes mes excuses. Je n'ai pas trouvé le temps d'expérimenter davantage avec cela, car je n'en avais pas besoin. Je dois retracer les folder-hookparamètres que j'utilisais à l'époque, je suppose que je les ai en tant que sauvegarde.
— Nikos Alexandris

pouvez-vous publier un fichier de débogage à partir de 'mutt -d 5'?
— asdmin

@asdmin pour le moment, la réponse est DEBUG was not defined during compilation. Ignored.. Une fois que je trouverai du temps, je recompilerai et posterai.
— Nikos Alexandris

@kyrias thnx for edits
— Nikos Alexandris

Réponses:


3

Vous pouvez définir directement le nom d'utilisateur et le mot de passe, mais cela ne fonctionne pas lorsque vous utilisez un account-hook, donc probablement le account-hookne fonctionne pas.

An se account-hookcompose d'une expression rationnelle pour les boîtes aux lettres et des commandes qui doivent être exécutées si une boîte aux lettres correspond à l' expression régulière .

Étant donné que les commandes ( set imap_user, set imap_pass) ne sont pas exécutées, nous pouvons supposer que le regexpne correspond pas à vos boîtes aux lettres.

Vous utilisez 'imaps: //mail.domain.net: 993 / INBOX /' qui est très spécifique. Vos boîtes aux lettres sont probablement nommées légèrement différentes.

Est-ce le seul compte de messagerie que mail.domain.netvous utilisez? Si tel est le cas, la réduction de l' expression rationnelle à 'mail.domain.net'devrait être suffisante pour correspondre à vos boîtes aux lettres.

account-hook . 'unset imap_user; unset imap_pass; unset tunnel
account-hook mail.domain.net "set imap_user=UserName@domain.net"
account-hook mail.domain.net "set imap_pass=${my_password}"

Je suis revenu pour régler ça. Votre interprétation est probablement juste. J'espère que je vérifierai cela bientôt. Je vous remercie.
— Nikos Alexandris

Si les deux set imap_useret set imap_passne sont pas exécutés, pourquoi me demande-t-on un mot de passe Password for UserName@mail.domain.net:? Exactement l'ID utilisateur et le domaine définis account-hookdans le account-hooksfichier?
— Nikos Alexandris

Je l'ai réparé! Je pense que je manquais de fournir ${my_password}correctement la smtp_passvariable. C'était ${password}...: - /
— Nikos Alexandris

Concernant mon dernier commentaire, après plusieurs éditions expérimentales, il semble que j'aie mal utilisé "${password}", au lieu de "${my_password}". Le account-hooksfichier semble fonctionner correctement pour au moins 2 comptes. Et un autre troisième pour lequel il est collé à un autre problème, à savoir un SSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol. Mais cela n'est pas directement lié à la question posée et à laquelle nous avons répondu ici. Ainsi, à l'exclusion des «fautes de frappe», le problème, au départ, était en effet le fait de regexpne pas correspondre à la ou aux boîtes aux lettres en question.
— Nikos Alexandris
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.