Warum fragt Mutt immer wieder nach IMAP-Benutzernamen und -Passwort?

13

Entschärfen mutt Konfigurationsvariablen imap_user, imap_pass(und vielleicht preconnect, imap_authenticatorsauch) über einen account-hook . "unset ... "Anruf, scheint gängige Praxis zu sein, wenn nicht eine Notwendigkeit, für mehr IMAP - Konten Kosten (siehe Verwalten mehrerer IMAP / POP - Konten (optional) , Mutt imap mehr Konten , mutt : gmail IMAP reagiert nicht , eine mit dem Account-Hook in Verbindung stehende Konfigurationsdatei in funtoo.org ).

Zur Zeit bearbeite ich nur einen Account via IMAP. Pläne für die Verwaltung mehrerer Konten veranlassen mich, den Anweisungen in den letzten oben genannten Links zu folgen ( Beispiel einer Mutt-Konfiguration von jemandem ). Aus diesem Grund habe ich auf ähnliche Weise Folgendes verwendet:

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}"

Dies wird in einer separaten Datei (mit dem Namen account_hooks) gespeichert und von innen bezogen muttrc. Aus Gründen, die ich nicht verstehe, fragt Mutt immer wieder nach dem Benutzernamen und dem Passwort . Wenn jedoch die Variablen imap_userund imap_passdirekt in muttrcz

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}"

alles funktioniert gut Die account_hooksDatei ist die erste Quelle, und es account-hook . "unset ..."gibt nirgendwo anders andere Aufrufe.

Update , Die folder-hooksDatei ist (und war, glaube ich) wie folgt:

#--------------------------------------------------------------------------
# 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"':

Warum füttert die separate Datei account_hooks die Variablen von Interesse in diesem Fall nicht richtig (dh imap_user und imap_pass )?

Nikos Alexandris
quelle
Wenn Sie immer noch an einer Antwort interessiert sind, würde ich gerne folder-hookIhre Zeilen sehen .muttrc. Dann kann ich einige Schlussfolgerungen ziehen und eine vollständige Lösung anbieten.
lord.garbage
1
@brauner, so spät und beschäftigt, entschuldige mich. Ich habe nicht die Zeit gefunden, mehr damit zu experimentieren, da ich es nicht brauchte. Ich muss die folder-hookEinstellungen zurückverfolgen, die ich zu der Zeit verwendet habe, ich denke, ich bin als Backup.
Nikos Alexandris
Kannst du eine Debug-Datei von 'mutt -d 5' veröffentlichen?
Asdmin
@asdmin für den Moment ist die Antwort DEBUG was not defined during compilation. Ignored.. Sobald ich etwas Zeit finde, kompiliere ich es erneut und poste es zurück.
Nikos Alexandris
@ kyrias thnx für Änderungen
Nikos Alexandris

Antworten:

3

Sie können den Benutzernamen und das Passwort direkt festlegen, aber es funktioniert nicht, wenn Sie eine verwenden account-hook. Daher account-hookfunktioniert die wahrscheinlich nicht.

Ein account-hookbesteht aus einem regulären Ausdruck für die Postfächer und den Befehlen, die ausgeführt werden sollen, wenn ein Postfach mit dem regulären Ausdruck übereinstimmt .

Da die Befehle ( set imap_user, set imap_pass) nicht ausgeführt werden, können wir davon ausgehen, dass die regexpnicht Ihren Postfächern entsprechen.

Sie verwenden 'imaps: //mail.domain.net: 993 / INBOX /', was sehr spezifisch ist. Wahrscheinlich haben Ihre Postfächer einen etwas anderen Namen.

Ist dies der einzige E-Mail-Account, den mail.domain.netSie verwenden? In diesem Fall'mail.domain.net' sollte es ausreichen , den regulären Ausdruck auf zu reduzieren , damit er mit Ihren Postfächern übereinstimmt.

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
quelle
Ich bin zurückgekommen, um das herauszufinden. Höchstwahrscheinlich ist Ihre Interpretation richtig. Ich werde das hoffentlich bald überprüfen. Vielen Dank.
Nikos Alexandris
Wenn beide set imap_userund werden set imap_passnicht ausgeführt, warum bin ich für nach einem Passwort gefragt Password for [email protected]:dann? Genau die account-hookin der account-hooksDatei festgelegte Benutzer-ID und Domain ?
Nikos Alexandris
Ich habe es repariert! Ich glaube, ich habe gefehlt, das ${my_password}für die smtp_passVariable richtig anzugeben. Es war ${password}...: - /
Nikos Alexandris
In Bezug auf meinen letzten Kommentar, nach mehreren experimentellen Bearbeitungen, scheint es, dass ich falsch verwendet habe "${password}", anstatt "${my_password}". Die account-hooksDatei scheint nun für mindestens 2 Konten ordnungsgemäß zu funktionieren. Und ein weiteres drittes, bei dem es um ein anderes Thema geht, nämlich ein SSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol. Das hängt aber nicht direkt mit der hier gestellten und beantworteten Frage zusammen. Abgesehen von "Tippfehlern" war das Problem anfangs in der Tat, dass die regexpfraglichen Postfächer nicht übereinstimmten.
Nikos Alexandris