Tôi sử dụng Mu4e . Nó được ghi chép tốt (cũng thông qua Thông tin), và khi viết bài này, đã tích cực phát triển .
Mu4e được vận chuyển như một tiện ích bổ sung cho mu , "một bộ công cụ để xử lý các tệp tin và thư, đặc biệt là lập chỉ mục và tìm kiếm thư e-mail" . Nó hoạt động cùng với offlineimap hoặc fetchmail . Tôi cũng sử dụng gói Emacs smtpmail-multi để tôi có thể gửi từ các tài khoản khác nhau với các cài đặt khác nhau. Để tích hợp trơn tru với nhà cung cấp email của bạn, bạn nên apt-get install ca-certificates
. Và nếu bạn muốn có một phiên bản được quản lý gói, bạn có thể lấy chính nó apt-get install maildir-utils
.
Một số cấu hình ví dụ được cung cấp, bao gồm "cấu hình tối thiểu" sau:
(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")
Tùy thuộc vào việc thiết lập nhà cung cấp thư của bạn, bạn sẽ cần phải làm thêm một chút; và đặc biệt, bạn sẽ cần định cấu hình OfflineIMAP hoặc Fetchmail để thực sự lấy thư. Trong cấu hình của tôi, được hiển thị bên dưới, tôi thiết lập mọi thứ để hoạt động với hai tài khoản. Nếu bạn chỉ cần truy xuất từ một tài khoản, bạn có thể muốn tham khảo mẫu .offlineimaprc có trong hướng dẫn mu4e.
Đối với các phần mở rộng và tích hợp với các gói Emacs khác: Mu4e tích hợp thuận tiện với Org Mode (để chụp những liên kết tới các thông điệp hoặc tìm kiếm tùy chỉnh, và ngay cả đối với tác giả HTML định dạng thư điện tử sử dụng cú pháp Org, mặc dù tôi không sử dụng tính năng đó) thông qua bao gồm org -mu4e.el . Có một tích hợp helm-mu riêng biệt có thể sử dụng được, nhưng cần thêm IMO. Nó theo chủ đề trong solarized.el . Ngoài ra còn có phần mở rộng mu4e-maildirs cung cấp số lượng tin nhắn đọc và chưa đọc thuận tiện cho mỗi thư mục thư, và có một số thứ khác tôi chưa thử.
Cùng với các tài liệu, các cấu hình mẫu này có thể giúp người dùng mu4e mới bắt đầu.
.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
Cấu hình cho mu4e
và 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)
ảnh chụp màn hình: duyệt với danh sách thuật ngữ tìm kiếm: emacs-orgmode.gnu.org