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

用Emacs作客户端最重要的是编辑啊。

我最后就简单设置了下通过emacs使用mutt,联系人都没折腾,直接C-c C-j复制过去。。。

完全是個人喜好 这边有写为什么用emacs看email的几个点 https://notmuchmail.org/

If you’ve been looking for a fast, global-search and tag-based email system to use within your text editor or in a terminal…

If you’re the kind of person that gets excited about being able to write shell scripts for exploring and manipulating your email…

If you’re a developer of an existing email program and would love a good library interface for fast, global search with support for arbitrary tags…

If you want the convenience of fast, reliable search of all your email, but don’t want to give a 3rd-party access to your email…

老实讲,我还真信不过这些第三方索引

没有邮件加密或本地备份需求的话,网页版 Gmail 确实是更好的选择。

裸写邮件内容,高度定制也算个需求点。

定制可以考虑emacseverything

如果邮件少的话,用emacs收发邮件比较方便。如果邮件很多,还有很多邮件列表,还是thunderbird比较好。

Thunderbird内存消耗太大,不知道别的系统上体验如何,mac上是这样

就是邮件才采用emacs 的… https://notmuchmail.org/

“Not much mail” is what Notmuch thinks about your email collection. Even if you receive 12000 messages per month or have on the order of millions of messages that you’ve been saving for decades. Regardless, Notmuch will be able to quickly search all of it. It’s just plain not much mail.

1赞

我在Archlinux上用thunderbird,内存消耗不大。可能thunderbird在不同系统上表现不一样吧。

1赞

我用notmuch显示html格式的邮件(用w3m)时经常出问题。

(use-package notmuch
  :config
  (progn
    (defun notmuch-view-html ()
      "Open the HTML parts of a mail in a web browser."
      (interactive)
      (with-current-notmuch-show-message
       (let ((mm-handle (mm-dissect-buffer)))
         (notmuch-foreach-mime-part
          (lambda (p)
	    (if (string-equal (mm-handle-media-type p) "text/html")
	        (mm-display-external p (lambda ()
				         (message "Opening web browser...")
				         (browse-url-of-buffer)
				         (bury-buffer)))))
          mm-handle)))))
  :bind
  ((:map notmuch-show-mode-map
	 (". V" . notmuch-view-html))))

也就一个快捷键的距离哈。 我用的很少的时候会失效。我就直接保存到 . s 保存到/tmp 文件下。然后浏览器打开 file:///tmp/[filename].html。 也就是工商银行的账单邮件有这问题。函数不知道什么地方拷的了。

你这是调用外部web浏览器啊,不过很符合Unix的哲学。我试试!

对了,在邮件搜索的时候,中文支持总是有问题。按照网上的方法,设置了环境变量XAPIAN_CJK_NGRAM,中文检索还是有问题,有时候能搜到,有时候就不行了。大家有更好的办法支持中文检索吗?

刚试了,可以哎 具体看这边 https://notmuchmail.org/howto/#special_tags 不懂什么 N gram。

Xapian supports N-gram term generator since 2011 to as a simple substitute for word segmentation. It can be turned on by setting the environment variable

    $ export XAPIAN_CJK_NGRAM=1
    $ notmuch new

For existing databases, one can reindex the database (since notmuch 0.26) with

    $ export XAPIAN_CJK_NGRAM=1
    $ notmuch reindex '*'

我就是按照这个链接的页面做的,设了个环境变量。但是,中文搜索有时能行,有时就不行了。

搞了一个简单的my/mutt,联系人靠yank

这个配置我估计我会用很长时间。


mutt 的作者指出.muttrc支持调用 shell 命令,所以改了下,加密密码不用这么麻烦了。。。

1赞

看到mbsync和gmail,想问下mbsync 可以配置用代理吗,同步gmail?看到mbsync和gmail,想问下mbsync 可以配置用代理吗,同步gmail?

因为xapian对CJK的搜索比较弱,只能搜两个字的词,如果搜“中国人”就不行。我写了个程序,可以自动帮你把单词切分为2个字的,并进行搜索。

;;
;; Xapian, the search engine of mu has a poor support of CJK characters,
;; which causes only query contains no more than 2 CJK characters works.
;; 
;; https://researchmap.jp/?page_id=457
;;
;; This workaroud breaks any CJK words longer than 2 characters into
;; combines of bi-grams. Example: 我爱你 -> (我爱 爱你)
;;
(defun mu4e-goodies~break-cjk-word (word)
  "Break CJK word into list of bi-grams like: 我爱你 -> 我爱 爱你"
  (if (or (<= (length word) 2)
          (equal (length word) (string-bytes word))) ; only ascii chars
      word
    (let ((pos nil)
          (char-list nil)
          (br-word nil))
      (if (setq pos (string-match ":" word))     ; like: "s:abc"
          (concat (substring word 0 (+ 1 pos)) 
                  (mu4e-goodies~break-cjk-word (substring word (+ 1 pos))))
        (if (memq 'ascii (find-charset-string word)) ; ascii mixed with others like: abcあいう
            word
          (progn 
            (setq char-list (split-string word "" t))
            (while (cdr char-list)
              (setq br-word (concat br-word (concat (car char-list) (cadr char-list)) " "))
              (setq char-list (cdr char-list)))
            br-word))))))

(defun mu4e-goodies~break-cjk-query (expr)
  "Break CJK strings into bi-grams in query."
  (let ((word-list (split-string expr " " t))
        (new ""))
    (dolist (word word-list new)
      (setq new (concat new (mu4e-goodies~break-cjk-word word) " ")))))

(setq mu4e-query-rewrite-function 'mu4e-goodies~break-cjk-query)

这个包含在我的一个包含了不少我自己写的mu4e的扩展功能的GitHub项目中。

2赞

如果只是处理生活邮件,完全没有必要用mu等这些复杂的邮件工具。

我是在工作中使用的,我们工作环境是Exchange/Outlook的,所以我感觉好处主要是相对Outlook,以及在工作环境下需要处理大量的、复杂的邮件:

  • Outlook实在太难用了,无论是搜索、纯文本邮件的支持等都比mu差太远了
  • mu对线索的支持很好,方便对大量回复邮件的跟踪和处理
  • 使用emacs可以写出很漂亮格式的纯文本邮件
  • 可以自行扩展大量功能,比如我写了不少扩展,来定制签名、回复、VIP邮件的处理等。
1赞

我的工作邮箱就是企业gmail,搜索很容易,而且完全不需要学习

纯文本邮件自己用可以,但是在企业环境里不可能要求别人给我发纯文本

学习啦。。。