Emacs: 收发邮件
最近有时间折腾, 搞定了腾讯企业邮邮箱在 Emacs 中的配置, 可以在 Emacs 中收发邮件了.
Workflow
Emacs 收发邮件的 工作流程 如下图:

简单来说, 收邮件分为三个步骤:
- 离线下载服务器邮件到本地
mbsync
- 索引邮件
mu
- 阅读邮件
mu4e
发邮件就更简单了:
- 写邮件
M-x mail
- 发邮件
msmtp
安装配置
命令行安装需要的包
在 macOS 上, 用 Homebrew
安装:
# isync提供了mbsync, 用于离线下载邮件 brew install isync # mu用于索引邮件 brew install mu # msmtp用于发送邮件 brew install msmtp #w3m用于阅读HTML邮件 brew install w3m # 用于加密密码 主页: https://www.passwordstore.org/ brew install pass
配置 mbsync
# mbsyncrc based on # http://www.ict4g.net/adolfo/notes/2014/12/27/EmacsIMAP.html # ACCOUNT INFORMATION IMAPAccount QQmail Host imap.exmail.qq.com Port 993 User i@lijigang.com PassCmd "/usr/local/bin/pass email/i@lijigang.com" AuthMechs LOGIN SSLType IMAPS SSLVersions TLSv1.2 # REMOTE STORAGE (USE THE IMAP ACCOUNT SPECIFIED ABOVE) IMAPStore QQmail-remote Account QQmail # LOCAL STORAGE (CREATE DIRECTORIES with mkdir -p ~/Maildir/QQmail) MaildirStore QQmail-local Path ~/Maildir/QQmail/ Inbox ~/Maildir/QQmail/INBOX Trash trash Channel QQmail-folders Master :QQmail-remote: Slave :QQmail-local: Patterns "INBOX" "Drafts" "Arch*" "Sent*" "Trash" "Junk" "Deleted*" Create Both Expunge Both SyncState * Group QQmail Channel QQmail-folders
注意 PassCmd
这行, 是调用了 pass 命令来读取密码.
配置 mu4e
我用的 Spacemacs
中有 mu4e layer, 所以只需要在
dotspacemacs-configuration-layers 中添加下面相关配置即可
(mu4e :variables mu4e-maildir "~/Maildir" mu4e-attachment-dir "~/Documents/QQmail-attachment" mu4e-get-mail-command "/usr/local/bin/mbsync -a" mu4e-html2text-command "/usr/local/bin/w3m -T text/html" mu4e-use-fancy-chars t mu4e-drafts-folder "/QQmail/Drafts" mu4e-sent-folder "/QQmail/Sent" mu4e-trash-folder "/QQmail/Trash" mu4e-refile-folder "/QQmail/All" mu4e-alert-interesting-mail-query "flag:unread AND maildir:/INBOX" mu4e-enable-notifications t mu4e-update-interval 300 mu4e-maildir-shortcuts '( ("/INBOX" . ?i) ("/QQmail/Sent" . ?s) ("/QQmail/Trash" . ?t) ("/QQmail/All" . ?a)) )
配置 msmtp
defaults tls on logfile ~/.msmtp.log account QQmail host smtp.exmail.qq.com port 465 tls on tls_certcheck off tls_starttls off auth on from i@lijigang.com user i@lijigang.com passwordeval /usr/local/bin/pass email/i@lijigang.com
同样的, 注意 passwordeval 这行, 使用 pass 工具来读取加密的密码.
全部配置完成后, 调用 M-x mu4e
即可看到使用界面了:
