谁有在 Mac 上面使用 Emacs 作为邮件客户端的经验?

你这个是什么颜色主题?

Mu4e 在 Mac 上可以参考这个 Blog,写的很详细。

我参考它已经成功在 Emacs 中用上 mu4e+QQMail(Foxmail) 查看邮件。

用 Nix 的话,还可以参考这个配置安装 mu 和 mbsync,以及相关的邮件配置。

2 个赞

gnus上新闻组非常合适。邮箱的话,还是干脆web用好了。否则太折腾

有 gnus 的推荐配置吗?我尝试了一下,连不上。

mu4e 的缺点是不方便跨平台使用,Windows 上不好安装。

其实 macOS 和 iOS 自带的 Mail 也挺好用 :smile:

别太折腾了,老哥。我之前折腾了好久wanderlust,最后发现自己看邮件还是多数使用的thunderbird邮件客户端看的。。。

多谢分析经验,不折腾了。

Emacs 还是专注干纯文本的事情,富文本的部分还是用专门的应用更好。

刚花了下時間修复了下 LSDB,和 Wanderlust 一起用。

这个方案看起来不错啊,邮件有分层级。
请问下这个方案 在 Mac 和 Windows 都能用吗?

Wanderlust 也是纯 elisp 实现的,当然可以用。就是这玩意上手难度比较高,文档本身已经很详细了,但很多进阶功能我还是得靠读代码研究出来的。

多谢,有时间再好好研究一下。

今天抽时间设置了一下 gnus + QQMail(启用 foxmail别名),可以正常工作了,分享给需要的朋友。

配置其实不复杂: 创建一个 .gnus.el 配置文件,放在HOME目录下,打开 ~/.gnus.el。把这些代码放进去。

(setq user-mail-address	"[email protected]"
      user-full-name	"Eason Huang(输入用来显示的名字)")

(setq gnus-select-method
      '(nnimap "foxmail.com"
               (nnimap-address "imap.qq.com")
               (nnimap-user "yourUserName")
               (nnimap-server-port 993)
               (nnimap-stream ssl)
               (nnimap-authinfo-file "~/.authinfo")))

(setq send-mail-function 'smtpmail-send-it
      smtpmail-smtp-server "smtp.qq.com"
      smtpmail-smtp-user "[email protected]"
      smtpmail-smtp-service 465
      smtpmail-stream-type 'ssl
      smtpmail-auth-credentials "~/.authinfo")

把自己的imap 应用密码(比如下面的abcdxyzjklmdnela)加入到 HOME 目录下的 .authinfo 文件中,也可以放在 ~/.authinfo.gpg下(我用的是前者,因为 gpg 在Windows 下不工作)

machine foxmail.com login yourUserName password abcdxyzjklmdnela
machine smtp.qq.com login [email protected] password abcdxyzjklmdnela

然后,在 emacs中 M-x gnus 就可以读取QQ 邮箱中的邮件了。 如果需要发邮件,按 C-x,m 就可以写邮件了,写完执行 C-c,C-c 就可以通过 smtp 发件。

以上在 Windows 10 + 原生 Emacs 29.0.50 系统下可以正常使用, MacOS 也正常。

4 个赞

可以使用 Mail.app 吗?

建议不要用 Mac 自带的 Mail,我昨天发现它 CPU 占用非常高,我满格的电池,给它一个小时就下了一半。正常我的电池是可以用好几个小时的。

用 gnus 可以完全不依赖别的软件。当然你发件是可以设置使用 Mail 来发,但是没必要。

我遇到的情况有些特别:我使用的 Emacs 版本是 29,gnus 看起来并不会识别 .gnus.el 或者 .gnus 。我只能把配置加入 init.el 中。而且,

这里我需要设置成 [email protected]

另外

这里我需要把 yourUserName 换成 [email protected]。或者先不写 .authinfo,写好了 gnus 配置之后 gnus 会提示输入这个密码,而且看起来这个文件的第二行是没有用的。

我经常使用Mail.app 没有发现这个情况。

我倒是没注意到这个情况,可能最新版本改了。前段时间我已经把这些涉及个人隐私的配置都放到一个 private.el 文件,放到 init.el 最后进行加载。比如这样

(progn ; personalize
  (let ((file (expand-file-name "private.el" user-emacs-directory)))
    (when (file-exists-p file)
      (load file))))

1 个赞

也可能是因为我 Gmail 邮箱的垃圾邮件多,不断在后台收信 :smile:

我这边@163.com的邮箱,用mbsync收不了邮件,gmail可以

mbsync设置为:

MaildirStore 163-local
Path ~/MyDir/Mail/163/
Inbox ~/MyDir/Mail/163/Inbox
SubFolders Verbatim

IMAPStore 163-remote
Account 163


Channel 163-Inbox
Far :163-remote:
Near :163-local:
Patterns *
Create Both
SyncState *
     
Group 163
Channel 163-Inbox

mbsync --verbose -D 163

执行结果

NO SELECT Unsafe Login. Please contact [email protected] for help

意思就是说: 这不是一个安全的连接,其实是网易没有遵循IMAP的规范,它强制要求你使用IMAP的ID命令,需要特色添加ID COMMAND

gpg: 警告:服务器 ‘gpg-agent’ 比我们的版本更老 (2.4.5 < 2.4.7)
F: >>> 2 LOGIN <user> <pass>
F: 2 OK LOGIN completed
F: >>> 3 CAPABILITY
F: * CAPABILITY IMAP4rev1 XLIST SPECIAL-USE ID LITERAL+ STARTTLS APPENDLIMIT=71680000 XAPPLEPUSHSERVICE UIDPLUS X-CM-EXT-1 SASL-IR AUTH=XOAUTH2
F: 3 OK CAPABILITY completed
F: [ 1] Callback enter connect_store, sts=0
pattern '*' (effective '*'): Path, no INBOX
F: [ 4] Enter list_store, flags=2
F: >>> 4 LIST "" "*"
F: [ 4] Leave list_store
F: [ 1] Callback leave connect_store
F: * LIST () "/" "INBOX"
F: * LIST (\Drafts) "/" "&g0l6P3ux-"
F: * LIST (\Sent) "/" "&XfJT0ZAB-"
F: * LIST (\Trash) "/" "&XfJSIJZk-"
F: * LIST (\Junk) "/" "&V4NXPpCuTvY-"
F: * LIST () "/" "&dcVr0mWHTvZZOQ-"
F: * LIST () "/" "&Xn9USpCuTvY-"
F: * LIST () "/" "&i6KWBZCuTvY-"
F: * LIST () "/" "Notes"
F: * LIST () "/" "Sent"
F: 4 OK LIST Completed
F: [ 4] Callback enter list_store, sts=0
  Sent
  Notes
  订阅邮件
  广告邮件
  病毒文件夹
  垃圾邮件
  已删除
  已发送
  草稿箱
  INBOX
F: Called get_caps, ret=0x7
N: Called get_caps, ret=0
F: Enter select_box, name=INBOX
F: Leave select_box, ret=0
N: Enter select_box, name=INBOX
N: Leave select_box, ret=0
N: Called get_box_path, ret=/Users/frankwu/MyDir/Mail/163/Inbox
Opening far side box INBOX...
F: [ 5] Enter open_box
F: >>> 5 SELECT "INBOX"
F: [ 5] Leave open_box
Opening near side box INBOX...
N: [ 6] Enter open_box
N: [ 6] Callback enter open_box, sts=0, uidvalidity=1698643784
N: [ 6] Callback leave open_box
N: [ 6] Leave open_box
F: [ 4] Callback leave list_store
F: 5 NO SELECT Unsafe Login. Please contact [email protected] for help
F: [ 5] Callback enter open_box, sts=2
Error: channel 163-Inbox: far side box INBOX cannot be opened.

我之前尝试用gnus连接网易imap,也是报这个错,就是不知道emacs怎么添加这个方法id。