Tại sao mutt cứ hỏi tên người dùng và mật khẩu imap?


13

Bỏ cài đặt các biến cấu hình của mutt imap_user, imap_pass(và có lẽ preconnect, imap_authenticatorscũng như vậy) thông qua một account-hook . "unset ... "cuộc gọi, dường như là thông lệ, nếu không cần thiết, để xử lý nhiều tài khoản imap (xem Quản lý nhiều tài khoản IMAP / POP (TÙY CHỌN) , Mutt imap nhiều tài khoản , mutt : gmail IMAP không phản hồi , tệp cấu hình liên quan đến tài khoản trong funtoo.org ).

Hiện tại tôi chỉ xử lý một tài khoản qua IMAP. Các kế hoạch xử lý nhiều tài khoản dẫn tôi đi theo các hướng dẫn được tìm thấy trong các liên kết được đề cập ở trên ( ví dụ về cấu hình mutt của ai đó ). Do đó, theo cách tương tự, tôi đã sử dụng như sau:

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

Điều này được lưu trữ trong một tập tin riêng biệt (có tên account_hooks) và có nguồn gốc từ bên trong muttrc. Vì những lý do tôi không hiểu, mutt tiếp tục hỏi tên người dùngmật khẩu . Tuy nhiên, nếu các biến imap_userimap_passđược đặt trực tiếp muttrc, vd

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

mọi thứ đều hoạt động tốt. Các account_hookstập tin là người đầu tiên có nguồn gốc và không có khác account-hook . "unset ..."tồn tại gọi (s) (s) bất cứ nơi nào khác.

Cập nhật , folder-hooksTệp là (và, tôi nghĩ) như sau:

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

Tại sao, các tập tin riêng biệt account_hooks , không ăn đúng cách các biến của lãi suất trong trường hợp này (tức là imap_userimap_pass )?


Nếu bạn vẫn quan tâm đến câu trả lời, tôi muốn xem những folder-hookdòng bạn có .muttrc. Sau đó tôi có thể rút ra một số kết luận và đưa ra một giải pháp hoàn chỉnh.
lord.garbage

1
@brauner, muộn quá và bận, xin lỗi. Tôi đã không tìm thấy thời gian để thử nghiệm nhiều hơn với điều này, vì tôi không cần nó. Tôi phải theo dõi lại các folder-hookcài đặt tôi đã sử dụng tại thời điểm đó, tôi đoán tôi có bản sao lưu.
Nikos Alexandris

bạn có thể đăng một tệp gỡ lỗi từ 'mutt -d 5' không?
asdmin

@asdmin trong lúc này, phản hồi là thế DEBUG was not defined during compilation. Ignored.. Khi tôi tìm thấy một chút thời gian, tôi sẽ biên dịch lại và đăng lại.
Nikos Alexandris

@kyrias thnx để chỉnh sửa
Nikos Alexandris

Câu trả lời:


3

Bạn có thể đặt tên người dùng và mật khẩu trực tiếp, nhưng nó không hoạt động khi bạn sử dụng account-hook, vì vậy có lẽ account-hooknó không hoạt động.

Một account-hookbao gồm một biểu thức chính quy cho các hộp thư và các lệnh đó sẽ được thực thi nếu hộp thư khớp với thức chính .

Vì các lệnh (set imap_user , set imap_pass) không được thực thi, chúng tôi có thể giả sử rằng regexpkhông khớp với hộp thư của bạn.

Bạn đang sử dụng 'imaps: //mail.domain.net: 993 / INBOX /' rất cụ thể. Có lẽ hộp thư của bạn được đặt tên hơi khác nhau.

Đây có phải là tài khoản mail duy nhất từ mail.domain.netbạn đang sử dụng? Nếu vậy, giảm regrec xuống 'mail.domain.net'là đủ để khớp với hộp thư của bạn.

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

Tôi đã trở lại để làm việc này. Nhiều khả năng giải thích của bạn là đúng. Tôi hy vọng sẽ sớm xác minh điều này. Cảm ơn bạn.
Nikos Alexandris

Nếu cả hai set imap_userset imap_passkhông được thực thi, tại sao tôi lại yêu cầu nhập mật khẩu Password for UserName@mail.domain.net:? Chính xác id người dùng và tên miền được đặt account-hooktrong account-hookstệp?
Nikos Alexandris

Tôi đã sửa nó! Tôi nghĩ rằng tôi đã thiếu để cung cấp ${my_password}chính xác cho smtp_passbiến. Đó là ${password}...: - /
Nikos Alexandris

Về nhận xét cuối cùng của tôi, sau nhiều lần chỉnh sửa thử nghiệm, dường như tôi đã sử dụng sai "${password}", thay vì "${my_password}". Các account-hookstập tin dường như làm việc cho ít nhất 2 acount, bây giờ, đúng. Và một thứ ba khác mà nó bị mắc kẹt vào một vấn đề khác, cụ thể là một SSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol. Nhưng điều đó không liên quan trực tiếp đến Câu hỏi được trả lời và trả lời ở đây. Vì vậy, ngoại trừ "lỗi chính tả", vấn đề, ban đầu, thực sự là regexpkhông phù hợp với hộp thư trong câu hỏi.
Nikos Alexandris
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.