วิธีจัดการบัญชี imap หลายบัญชีด้วย mutt


11

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

ปัจจุบันการตั้งค่า mutt ของฉันมีลักษณะดังนี้:

#$HOME/.mutt/muttrc
=== Accounts  ====

set my_decrypt=`gpg -o $HOME/.mutt/accounts/passwd.gpg.tmp -d $HOME/.mutt/accounts/passwd.gpg`

set my_first_mail_passwd=`awk '/xxxxx@foo.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_second_mail_passwd=`awk '/yyyyy@bar.com:/ {print $2}' $HOME/.mutt/accounts/passwd.gpg.tmp`

set my_rm=`rm -f $HOME/.mutt/accounts/passwd.gpg.tmp`

source $HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile

//source $HOME/.mutt/accounts/yyyyy@bar.com/yyyyy@bar.com.profile

ซึ่งหมายความว่าไฟล์ password.gpg ถูกถอดรหัสทันที (ซึ่งรหัสผ่านอีเมลของฉันยังมีชีวิตอยู่) ใช้เพื่อตั้งค่า vars และลบบางส่วนนอกจากนี้ยังมีโปรไฟล์เริ่มต้นที่มาด้วยดูเหมือนว่า:

#$HOME/.mutt/accounts/xxxxx@foo.com/xxxxx@foo.com.profile
set folder           = "imaps://imap.foo.com"

set spoolfile        = "imaps://imap.foo.com/INBOX"

set header_cache     = "$HOME/.mutt/cache/xxxxx@foo.com.headers"

set message_cachedir = "$HOME/.mutt/cache/xxxxx@foo.com.bodies"

set imap_user        = "xxxxx@foo.com"

set imap_pass        = $my_first_mail_passwd

set smtp_url         = "smtp://xxxxx@smtp.foo.com"

set smtp_pass        = $my_first_mail_passwd

เมื่อใช้สิ่งนี้ฉันสามารถใช้บัญชีที่กำหนดค่าในโปรไฟล์เริ่มต้นเท่านั้นฉันได้ยินมาว่าสามารถใช้ hooks โฟลเดอร์ได้ แต่ฉันไม่รู้ว่าจะใช้ยังไงและฉันก็ไม่แน่ใจว่าเป็นเช่นนั้นหรือไม่ สิ่งที่ฉันกำลังมองหาฉันต้องการเพียงแค่สามารถที่จะมาโพรไฟล์ที่แตกต่างกันขึ้นอยู่กับอีเมลที่ฉันต้องการที่จะอ่าน .. , ยินดีต้อนรับวิธีการข้อเสนอแนะใด ๆ .. ฉันต้องการการตั้งค่าที่ไม่ไว้วางใจ บนโปรแกรมภายนอกที่ไม่ได้เป็นส่วนหนึ่งของการติดตั้ง Ubuntu เริ่มต้น

คำตอบ:


14

ถึงแม้ว่าจะมีบางคนแนะนำที่เป็นประโยชน์บนเว็บไซต์นี้และคนนี้ฉันคิดว่าฉันก็จะแสดงให้คุณเห็นวิธีการแก้ปัญหาการทำงานในปัจจุบันของฉัน คุณอาจสังเกตว่ามันคล้ายกับคำแนะนำข้างต้น แต่มีการเพิ่มเติมและความแตกต่าง: ฉันพบว่าเป็นไปได้ที่จะไม่ใช้account-hooksหรือfolder-hooksในบางกรณี ดูวิตแมน Muttสำหรับทางเลือกในการตั้งค่านี้

ฉันจะโพสต์องค์ประกอบของการตั้งค่าแล้วโพสต์ทั้งหมดของฉัน.muttrcเพื่อให้คุณสามารถดูว่ามันเข้ากันได้อย่างไร

เป็นการง่ายที่สุดในการป้อนการตั้งค่าของบัญชีทั้งสองของคุณในไฟล์แยกกันและบันทึกไว้ใน~/.muttโฟลเดอร์ ตัวอย่างเช่นบัญชีทั้งสองของคุณอาจจะเรียกว่าและaccount.gmail1 account.gmail2ดังนั้นสร้างไฟล์ข้อความสองไฟล์ด้วยชื่อเหล่านั้นและทำตามเทมเพลตด้านล่างสำหรับเนื้อหา พวกเขาควรจะเหมือนกันนอกเหนือจากuser@ส่วน; เพียงแทนที่เหตุการณ์ทั้งหมดด้วยอีเมลจริงของคุณ (เช่นmik123@) ในทั้งสองไฟล์

set imap_user = "user@gmail.com"
set imap_pass = ""
set from = "user@gmail.com"
set realname = "user"
set hostname = gmail.com
set folder = "imaps://user@imap.gmail.com:993"
set spoolfile = "imaps://user@imap.gmail.com/INBOX"
set postponed = "imaps://user@imap.gmail.com/[Gmail]/Drafts"
set record = "imaps://user@imap.gmail.com/[Gmail]/Sent Mail"
set smtp_url = "smtp://user@smtp.gmail.com:587"
set smtp_pass = ""
  • โปรดทราบว่าฉันได้ปล่อยรหัสผ่านว่างเปล่า ( "") ซึ่งหมายความว่าคุณจะได้รับแจ้งและนั่นคือสิ่งที่ฉันต้องการ แต่คุณสามารถรวมโซลูชันของคุณเองหากคุณไม่ต้องการป้อนรหัสผ่านต่อไป

  • หากคุณต้องการให้บัญชีเริ่มต้นโหลดเมื่อเริ่มต้นคุณสามารถใช้ใน.muttrcบรรทัดที่คล้ายกันนี้เพียงระบุไฟล์กำหนดค่าของคุณเอง

    source "~/.mutt/account.gmail1"

  • หากต้องการสลับระหว่างบัญชีให้วางทางลัดในการ.muttrcอ้างอิงถึงตำแหน่งจริงและชื่อของการกำหนดค่าบัญชีของคุณ:

    macro index <f4> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail1<enter><change-folder>!<enter>'
    macro index <f5> '<sync-mailbox><enter-command>source ~/.mutt/account.gmail2<enter><change-folder>!<enter>'

  • คุณจะสามารถสลับระหว่างโฟลเดอร์ภายในทั้งสองบัญชีด้วยคำสั่งเพจเจอร์เช่น

    macro index,pager ga "<change-folder>=[Gmail]/All Mail<enter>" "Go to all mail"

ที่กำหนดไว้ในของคุณ.muttrc; สิ่งเหล่านี้จะยังคงใช้ได้สำหรับแต่ละบัญชี (ดูไฟล์แนบของฉัน.muttrc)

  • ฉันทดสอบการตั้งค่าเฉพาะเหล่านี้กับการตั้งค่าทั่วไปเพิ่มเติมในของฉัน.muttrcดังนั้นคุณสามารถใช้ไฟล์นั้นและ / หรือตรวจสอบด้วยตัวคุณเองมันขึ้นอยู่กับคุณ

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

ดูบทความดี ๆในเว็บไซต์นี้บน Mutt และMutt wikiสำหรับวิธีการตั้งค่าเพิ่มเติมmuttเช่นการใช้folder-hooksเพื่อเชื่อมโยง setings กับกล่องจดหมายต่างๆซึ่งอธิบายไว้ที่นี่ด้วย


ว้าววววววววว!!!!!!! ขอบคุณมากเพื่อนของฉัน ~ / .mutt / muttrc conf: paste.ubuntu.com/1487277
Javier López

"ไม่มีแปะที่คุณกำลังค้นหาอยู่" บางที pastebin อาจไม่ใช่ที่ที่ดีที่สุดในการเก็บสิ่งของระยะยาว ฉันขอแนะนำให้มีส่วนสำคัญแทนได้หรือไม่
Intentss

คุณถูก @intentss การกำหนดค่าของฉันตอนนี้ก็มีให้ที่: github.com/chilicuil/dotfiles/blob/master/.mutt/muttrcเนื่องจาก user76204 ตอบว่ามันทำงานได้อย่างสมบูรณ์แบบฉันได้รวม gpg เข้ากับโซลูชันแล้ว แม้ว่า
Javier López

2

คุณสามารถใช้ไฟล์การกำหนดค่าหลายไฟล์ ตัวอย่างเช่นคุณสามารถเรียกใช้:

  • mutt -F .muttrc-yahoo บน /dev/pts/1
  • mutt -F .muttrc-gmail บน /dev/pts/2

0

นอกจากนี้ยังมีการเขียนที่ดี / วิธีที่นี่ (GitHub) อาจจะง่ายกว่านิดหน่อยในการติดตามหรือไม่

ไดเรกทอรีและไฟล์

~ /
| ── .mutt /
| ├── account.com.gmail.foo
| ├── account.com.gmail.bar
| ├── com.gmail.foo/
| └── com.gmail.bar/
└── .muttrc
~/.muttrc  
# hooks โฟลเดอร์
folder-hook 'account.com.gmail.foo' 'source ~ / .mutt / account.com.gmail.foo'
folder-hook 'account.com.gmail.bar' 'source ~ / .mutt / account.com.gmail.bar'

# บัญชีเริ่มต้น
แหล่งข้อมูล ~ / .mutt / account.com.gmail.foo         

# มาโครสำหรับการเปลี่ยนบัญชี
ดัชนีมาโคร 'source ~ / .mutt / account.com.gmail.foo!'
ดัชนีมาโคร 'source ~ / .mutt / account.com.gmail.bar!'

# เรียกเมลช็อตคัต
ดัชนีการเชื่อมโยง G imap-fetch-mail
~/.mutt/account.com.gmail.foo
set imap_user = "foo@gmail.com"                       
set imap_pass = ""                                    
set smtp_url = "smtp: //foo@smtp.gmail.com: 587 /"       
set smtp_pass = ""                                    
ตั้งค่าจาก = "foo@gmail.com"                            
set realname = "Foo"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / ร่างจดหมาย"                             
set header_cache = ~ / .mutt / com.gmail.foo / cache / ส่วนหัว            
set message_cachedir = ~ / .mutt / com.gmail.foo / cache / bodies         
ตั้ง certificate_file = ~ / .mutt / com.gmail.foo / ใบรับรอง
~/.mutt/account.com.gmail.bar  
set imap_user = "bar@gmail.com"                       
set imap_pass = ""                                    
set smtp_url = "smtp: //bar@smtp.gmail.com: 587 /"       
set smtp_pass = ""                                    
ตั้งค่าจาก = "bar@gmail.com"                            
set realname = "Bar"                                  
set folder = "imaps: //imap.gmail.com: 993"                     
set spoolfile = "+ INBOX"                                      
set postponed = "+ [Gmail] / ร่างจดหมาย"                             
set header_cache = ~ / .mutt / com.gmail.bar / cache / ส่วนหัว            
set message_cachedir = ~ / .mutt / com.gmail.bar / cache / bodies         
ตั้ง certificate_file = ~ / .mutt / com.gmail.bar / ใบรับรอง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.