ผมใช้Mu4e มันเป็นเอกสารที่ดี (ยังผ่านข้อมูล) และในขณะที่เขียนนี้พัฒนาอย่างแข็งขัน
Mu4e ถูกส่งมาเป็น add-on หมู่ , "ชุดของเครื่องมือในการจัดการกับ Maildirs และไฟล์ข้อความโดยเฉพาะอย่างยิ่งการจัดทำดัชนีและค้นหาข้อความอีเมล" มันทำงานร่วมกับOfflineIMAPหรือfetchmail ฉันยังใช้แพ็คเกจ Emacs smtpmail-multiเพื่อให้ฉันสามารถส่งจากบัญชีที่แตกต่างกันด้วยการตั้งค่าที่แตกต่างกัน apt-get install ca-certificates
เพื่อบูรณาการได้อย่างราบรื่นกับผู้ให้บริการอีเมลของคุณคุณควร และถ้าคุณต้องการรุ่นที่จัดการแพ็คเกจคุณสามารถคว้า mu ด้วยตัวเองapt-get install maildir-utils
ได้
มีการกำหนดค่าตัวอย่างหลายประการรวมถึง "การกำหนดค่าขั้นต่ำ" ต่อไปนี้:
(require 'mu4e)
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-default-smtp-server "smtp.example.com"
smtpmail-smtp-server "smtp.example.com"
smtpmail-local-domain "example.com")
ขึ้นอยู่กับการตั้งค่าของผู้ให้บริการอีเมลของคุณคุณจะต้องทำอีกเล็กน้อย และโดยเฉพาะอย่างยิ่งคุณจะต้องกำหนดค่า OfflineIMAP หรือ Fetchmail เพื่อรับจดหมายจริง ในการกำหนดค่าของฉันที่แสดงด้านล่างฉันตั้งค่าทุกอย่างให้ทำงานกับสองบัญชี หากคุณต้องการดึงข้อมูลจากบัญชีเดียวคุณอาจต้องการอ้างอิงตัวอย่าง. offlineimaprc ที่รวมอยู่ในคู่มือ mu4e
ในฐานะที่เป็นสำหรับส่วนขยายและบูรณาการกับแพคเกจอื่น ๆ Emacs: Mu4e รวมสะดวกสบายด้วยโหมดองค์กร (สำหรับการจับเชื่อมโยงไปยังข้อความหรือการค้นหาที่กำหนดเองและแม้กระทั่งสำหรับการจัดรูปแบบการเขียนอีเมล HTML ใช้ไวยากรณ์องค์กรแม้ว่าฉันไม่ได้ใช้คุณลักษณะที่) ผ่านรวมorg -mu4e.el มีการรวมhelm-muแยกต่างหากที่ใช้งานได้ แต่ต้องการ IMO ที่ทำงานเพิ่มขึ้น มันเป็นแกนในsolarized.el นอกจากนี้ยังมีmu4e-maildirs-extensionที่ให้ความสะดวกในการอ่านและยังไม่ได้อ่านข้อความต่อเมลไดเรกทอรีและยังมีสิ่งอื่น ๆ ที่ฉันยังไม่ได้ลอง
เมื่อใช้ร่วมกับเอกสารการกำหนดค่าตัวอย่างเหล่านี้อาจช่วยให้ผู้ใช้ mu4e ใหม่หลุดออกจากพื้นดิน
.offlineimaprc
[general]
accounts = Gmail, Uni
maxsyncaccounts = 3
[Account Gmail]
localrepository = Local
remoterepository = Remote
status_backend = sqlite
[Repository Local]
type = Maildir
localfolders = ~/Maildir/google
[Repository Remote]
type = IMAP
remotehost = imap.gmail.com
remoteuser = other.e.mail@gmail.com
remotepass = TryAndGuess12345
ssl = yes
maxconnections = 1
realdelete = no
# cert_fingerprint = fa88366ccd90cd02f7a5655800226c43c8044ada
# but they change all the time, so...
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
# Folders to get:
#
# In Gmail, filter all current mail that isn't *otherwise*
# filtered into the folder or folders you want to receive/sync.
# Keep that up to date; it will boost efficiency if you would
# otherwise be syncing a very large "Inbox" here.
folderfilter = lambda foldername: foldername in [
'JUNE2015', 'Drafts', 'Sent']
[Account Uni]
localrepository = UniLocal
remoterepository = UniRemote
status_backend = sqlite
[Repository UniLocal]
type = Maildir
localfolders = ~/Maildir/uni
[Repository UniRemote]
type = IMAP
remotehost = pod666.outlook.com
remoteuser = username@campus.university.ac.uk
remotepass = TryAndGuess9876
ssl = yes
maxconnections = 1
realdelete = no
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
กำหนดค่าสำหรับmu4e
และsmtpmail-multi
:
;;; Replies
(setq message-citation-line-function 'message-insert-formatted-citation-line)
(setq message-citation-line-format "On %a, %b %d %Y, %f wrote:\n")
;;; smtp
(add-to-list 'load-path "~/smtpmail-multi")
(require 'smtpmail-multi)
(require 'smtpmail)
(setq smtpmail-multi-accounts
(quote
((uni . ("username@campus.university.ac.uk"
"pod666.outlook.com"
587
"e.mail@uni.ac.uk"
nil nil nil nil))
(gmail . ("other.e.mail@gmail.com"
"smtp.gmail.com"
587
"other.e.mail@gmail.com"
starttls
nil nil nil)))))
(setq smtpmail-multi-associations
(quote
(("other.e.mail@gmail.com" gmail)
("e.mail@uni.ac.uk" uni))))
(setq smtpmail-multi-default-account (quote gmail))
(setq message-send-mail-function 'smtpmail-multi-send-it)
(setq smtpmail-debug-info t)
(setq smtpmail-debug-verbose t)
;;; MU4E config
(require 'shr)
(defun shr-render-current-buffer ()
(shr-render-region (point-min) (point-max)))
(setq mu4e-compose-dont-reply-to-self t)
(setq mu4e-compose-signature-auto-include nil)
(setq mu4e-html2text-command 'shr-render-current-buffer)
(setq mu4e-mu-binary "~/mu/mu/mu")
(setq user-full-name "Hello World")
(setq user-mail-address "other.e.mail@gmail.com")
(setq mu4e-hide-index-messages t)
(setq
mu4e-maildir "~/Maildir" ;; top-level Maildir
mu4e-sent-folder "/sent" ;; folder for sent messages
mu4e-drafts-folder "/drafts" ;; unfinished messages
mu4e-trash-folder "/trash" ;; trashed messages
mu4e-refile-folder "/archive") ;; saved messages
(setq
mu4e-get-mail-command "offlineimap" ;; -a Uni to just do university acc't
mu4e-update-interval nil) ;; 300 to update every 5 minutes
(setq mu4e-bookmarks
'( ("flag:unread AND NOT flag:trashed" "Unread messages" ?u)
("date:today..now" "Today's messages" ?t)
("date:7d..now" "Last 7 days" ?w)
("date:1d..now AND NOT list:emacs-orgmode.gnu.org" "Last 1 days" ?o)
("date:1d..now AND list:emacs-orgmode.gnu.org" "Last 1 days (org mode)" ?m)
("maildir:/sent" "sent" ?s)
("maildir:/uni/INBOX AND date:7d..now" "University Last 7 days" ?g)
("maildir:/google/JUNE2015 AND date:7d..now" "Gmail Last 7 days" ?c)
("mime:image/*" "Messages with images" ?p)))
(setq mu4e-maildir-shortcuts
'( ("/google/JUNE2015" . ?c)
("/uni/INBOX" . ?g)
("/sent" . ?s)))
(setq mu4e-user-mail-address-list (list "other.e.mail@gmail.com" "e.mail@uni.ac.uk"))
(setq message-kill-buffer-on-exit t)
(setq
mu4e-view-show-images t
mu4e-view-image-max-width 800)
;; A little demo function for switching accounts
(defun switch ()
(interactive)
(save-excursion (goto-char (point-min))
(forward-char 19)
(cond
((looking-at "other.e.mail@gmail.com")
(delete-region (match-beginning 0) (match-end 0))
(insert "e.mail@uni.ac.uk")
(buffer-face-set 'default))
((looking-at "e.mail@uni.ac.uk")
(delete-region (match-beginning 0) (match-end 0))
(insert "other.e.mail@gmail.com")
(buffer-face-set 'bold-italic))
(t nil))))
(add-hook 'mu4e-compose-mode-hook (lambda () (buffer-face-set 'bold-italic)))
;;; Saving outgoing mail
;; Following tip from documentation for `mu4e-sent-messages-behavior' - see also
;; http://www.djcbsoftware.nl/code/mu/mu4e/Saving-outgoing-messages.html
;; for some related points, but not necessary to do things both ways.
(setq message-sendmail-envelope-from 'header)
(setq mu4e-sent-messages-behavior
(lambda ()
(if (string= (message-sendmail-envelope-from) "other.e.mail@gmail.com")
(progn (message "Delete sent mail.")
'delete)
(progn (message "Save sent mail.")
'sent))))
;;; Org mode compatibility
;; Use `org-store-link' to store links, and `org-insert-link' to paste them
(require 'org-mu4e)
;;; That's all
(provide 'my-mu4e-config)
สกรีนช็อต: เรียกดูพร้อมรายการคำค้นหา: emacs-orgmode.gnu.org