web-dev-qa-db-ja.com

muttがimapのユーザー名とパスワードを要求し続けるのはなぜですか?

imap_user 呼び出しを介してmuttの構成変数imap_passimap_authenticators(およびおそらくpreconnectaccount-hook . "unset ... "も)の設定を解除するようです。必要ではないにしても、複数のimapアカウントを処理するための一般的な方法です( 複数のIMAP/POPアカウントの管理(オプション)imapの複数のアカウントをミュートを参照) mutt:gmail IMAPが応答しませんfuntoo.orgのアカウントフック関連の構成ファイル )。

現在、IMAP経由で1つのアカウントのみを処理しています。複数のアカウント処理の計画により、上記のリンクの最後にある指示に従うようになりました( 誰かのmutt構成の例 )。したがって、同様の方法で、私は以下を使用しました。

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

これは別のファイル(account_hooksという名前)に保存され、muttrc内から供給されます。私が理解できない理由で、muttはユーザー名パスワードを要求し続けます。ただし、変数imap_userおよびimap_passmuttrcに直接設定されている場合、たとえば、.

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

すべてが正常に動作します。 account_hooksファイルは最初にソースされたファイルであり、他のどこにも他のaccount-hook . "unset ..."呼び出しは存在しません。

Updatefolder-hooksファイルは次のとおりです(そして、そうだったと思います)。

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

なぜそうなのか、別のファイルaccount_hooksは、この場合、対象の変数を適切にフィードしません(つまり、imap_userおよびimap_pass)?

13

ユーザー名とパスワードは直接設定できますが、account-hookを使用すると機能しないため、おそらくaccount-hookは機能しません。

account-hookは、メールボックスのregexpと、メールボックスがregexpと一致する場合に実行する必要のあるコマンドで構成されます。

コマンド(set imap_userset imap_pass)は実行されないため、regexpがメールボックスと一致しなかったと見なすことができます。

非常に具体的な「imaps://mail.domain.net:993/INBOX /」を使用しています。おそらく、メールボックスの名前は少し異なります。

これはあなたが使用しているmail.domain.netからの唯一のメールアカウントですか?その場合、regexp'mail.domain.net'に減らすだけで、メールボックスを一致させることができます。

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