Чому mutt продовжує запитувати ім'я користувача та пароль Imap?


13

Змінні незаходимий Mutt в конфігурації imap_user, imap_pass(і , можливо preconnect, imap_authenticatorsа) з допомогою account-hook . "unset ... "виклику, здається, звичайна практика, якщо не необхідність, для обробки декількох облікових записів IMAP (див Управління декількох облікових записів IMAP / POP (опционального) , множинний рахунок Mutt IMap , собачка : gmail IMAP не відповідає , файл конфігурації, пов’язаний із підключенням до облікового запису, на funtoo.org ).

В даний час я обробляю лише один обліковий запис через IMAP. Плани багаторазового обслуговування облікових записів спонукають мене дотримуватися вказівок, знайдених в останньому з вищезгаданих посилань ( чийсь приклад конфігурації мутації ). Тому аналогічним чином я використав наступне:

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

Це зберігається в окремому файлі (названому account_hooks) та отримується зсередини muttrc. З причин, яких я не розумію, mutt продовжує запитувати ім’я користувача та пароль . Однак якщо змінні imap_userі imap_passвстановлені безпосередньо в muttrc, напр

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

все працює добре. account_hooksФайл є першим з джерел і ніякий інший account-hook . "unset ..."виклик (s) існують (s) де - небудь ще.

Оновлення , folder-hooksфайл є (і був, я думаю) таким чином:

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

Чому окремий файл account_hooks не подає належним чином змінні, що цікавлять у цьому випадку (тобто imap_user та imap_pass )?


Якщо ви все ще зацікавлені у відповіді, я хотів би побачити folder-hookрядки, які у вас є .muttrc. Тоді я можу зробити деякі висновки і запропонувати повне рішення.
lord.garbage

1
@brauner, так пізно і зайнято, вибачте. Я не знайшов часу більше експериментувати з цим, оскільки мені це не було потрібно. Мені потрібно відстежувати folder-hookналаштування, які я використовував у той час, я вважаю, що я є резервною копією.
Нікос Олександріс

ви можете опублікувати файл налагодження з 'mutt -d 5'?
асдмін

@asdmin на даний момент, відповідь є DEBUG was not defined during compilation. Ignored.. Як тільки я знайду деякий час, я перекомпілюю і відправлю назад.
Нікос Олександріс

@kyrias thnx для редагувань
Нікос Олександріс

Відповіді:


3

Ви можете встановити ім'я користувача та пароль безпосередньо, але він не працює, коли ви використовуєте account-hook, тому, ймовірно, account-hookце не працює.

account-hookСкладається з регулярного виразу для поштових скриньок і тих команд , які повинні бути виконані , якщо поштова скринька відповідає регулярному виразу .

Оскільки команди ( set imap_user, set imap_pass) не виконуються, можна припустити, що regexpвони не відповідали вашим поштовим скринькам.

Ви використовуєте 'imaps: //mail.domain.net: 993 / INBOX /', що є дуже конкретним. Можливо, ваші поштові скриньки названі дещо інакше.

Це єдиний обліковий запис пошти, який mail.domain.netви використовуєте? Якщо так, зменшення регулярного вираження до цього 'mail.domain.net'повинно бути достатньо, щоб відповідати вашим поштовим скринькам.

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

Я повернувся, щоб опрацювати це. Швидше за все, ваше тлумачення правильне. Я, сподіваюся, незабаром це підтверджу. Дякую.
Нікос Олександріс

Якщо і те set imap_userй інше set imap_passне виконується, чому я тоді запитав пароль Password for UserName@mail.domain.net:? Точно ідентифікатор користувача та домен, встановлені account-hookу account-hooksфайлі?
Нікос Олександріс

Я це виправив! Я думаю, мені не вистачало, щоб ${my_password}правильно вказати smtp_passзмінну. Було ${password}...: - /
Нікос Олександріс

Щодо мого останнього коментаря, після декількох експериментальних редагувань, здається, що я неправильно використав "${password}"замість цього "${my_password}". account-hooksЗдається, цей файл працює як мінімум на 2 акценти. І ще одна третя, за яку вона зациклюється на іншому питанні, а саме на SSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol. Але це не пов'язане безпосередньо з питанням, яке тут поставлено та на яке відповіли. Отже, виключаючи «помилки друку», спочатку проблема справді була regexpневідповідністю поштовій скриньці.
Нікос Олександріс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.