ทำไม mutt ถามชื่อผู้ใช้และรหัสผ่านของ imap ต่อไป?


13

ตัวแปร unsetting โง่ของการกำหนดค่าimap_user, imap_pass(และอาจpreconnect, imap_authenticatorsเช่นกัน) ผ่านทางaccount-hook . "unset ... "โทรดูเหมือนว่าจะมีการปฏิบัติร่วมกันถ้าไม่จำเป็นสำหรับการจัดการบัญชีผู้ใช้ IMAP หลาย (ดูการจัดการหลายบัญชี IMAP / POP (อุปกรณ์เสริม) , Mutt IMAP หลายบัญชี , โง่ : Gmail IMAP ไม่ตอบสนอง , แฟ้มการกำหนดค่าบัญชีเบ็ดที่เกี่ยวข้องใน funtoo.org )

ขณะนี้ฉันจัดการบัญชีเดียวผ่าน IMAP แผนการจัดการหลายบัญชีทำให้ฉันทำตามคำแนะนำที่พบในลิงก์ล่าสุดที่กล่าวถึงข้างต้น ( ตัวอย่างของการตั้งค่า mutt ) ดังนั้นในทำนองเดียวกันฉันจึงใช้สิ่งต่อไปนี้:

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และที่มาจากภายใน สำหรับเหตุผลที่ฉันไม่เข้าใจโง่พร้อมขอชื่อผู้ใช้และรหัสผ่าน อย่างไรก็ตามหากตัวแปร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ตั้งค่าที่ฉันใช้ในเวลานั้นฉันเดาว่าฉันเป็นข้อมูลสำรองแล้ว
Nikos Alexandris

คุณสามารถโพสต์ไฟล์ดีบักจาก 'mutt -d 5' ได้หรือไม่
asdmin

@asdmin DEBUG was not defined during compilation. Ignored.สำหรับช่วงเวลาการตอบสนองคือ เมื่อฉันพบเวลาฉันจะคอมไพล์และโพสต์กลับ
Nikos Alexandris

@kyrias ขอบคุณสำหรับการแก้ไข
Nikos Alexandris

คำตอบ:


3

คุณสามารถตั้ง username และ password โดยตรง แต่มันไม่ทำงานเมื่อคุณใช้account-hookดังนั้นอาจจะaccount-hookไม่ทำงาน

account-hookประกอบด้วยregexpสำหรับกล่องจดหมายและคำสั่งเหล่านั้นซึ่งควรจะดำเนินการถ้ากล่องจดหมายที่ตรงกับregexp

เนื่องจากคำสั่ง ( set imap_user, set 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 imap_user=UserName@domain.net"
account-hook mail.domain.net "set imap_pass=${my_password}"

ฉันกลับมาทำงานนี้อีกครั้ง การตีความของคุณนั้นถูกต้องที่สุด ฉันหวังว่าจะตรวจสอบเรื่องนี้ในไม่ช้า ขอขอบคุณ.
Nikos Alexandris

ถ้าทั้งสองอย่างset imap_userและset imap_passไม่ถูกประหารชีวิตฉันจะถามรหัสผ่านPassword for UserName@mail.domain.net:ทำไม? เป็น ID ผู้ใช้และโดเมนที่ตั้งค่าไว้account-hookในaccount-hooksไฟล์หรือไม่
Nikos Alexandris

ฉันได้รับการแก้ไขแล้ว! ฉันคิดว่าฉันพลาดการจัดเตรียมตัวแปรให้${my_password}ถูกต้อง smtp_passมันเป็น${password}... : - /
Nikos Alexandris

เกี่ยวกับความคิดเห็นล่าสุดของฉันหลังจากการแก้ไขการทดลองหลาย ๆ มันก็ดูเหมือนว่าผมใช้อย่างผิดพลาดแทน"${password}" ไฟล์ดูเหมือนว่าจะทำงานอย่างน้อย 2 acounts ตอนนี้อย่างถูกต้อง และอีกหนึ่งในสามที่มันได้รับการติดอยู่กับปัญหาอีกคือ แต่นั่นไม่เกี่ยวข้องโดยตรงกับคำถามที่ถามและตอบที่นี่ ดังนั้นการยกเว้น "typos" ปัญหาในตอนแรกคือการไม่ตรงกับกล่องจดหมาย (es) ที่เป็นปัญหา "${my_password}"account-hooksSSL failed: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocolregexp
Nikos Alexandris
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.