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 [email protected]"
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 = '[email protected]'
set imap_user = '[email protected]'
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%[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"':

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 )?

Nikos Alexandris
la source
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 [email protected]"
account-hook mail.domain.net "set imap_pass=${my_password}"
Thomas Weinbrenner
la source
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 [email protected]:? 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