mu4e from automatically marking messages as ‘read’ when I read them?mu4e support including all related messages in a thread, like Gmail does?mu4e is designed to be very fast, even with large amounts of mail.
However, if you experience slowdowns, here are some things to consider:
mu4e communicates with the mu server mostly synchronously; this means
that you can do only one thing at a time. The one operation that potentially
does take a bit of time is indexing of mail. Indexing does happen
asynchronously, but still can slow down mu enough that users may notice.
For some strategies to reduce that time, see the next question.
mu4e the first time and you have a
lot of contacts, it can take a few seconds to process those. Note
that mu4e 1.3 and higher only get changed contacts in
subsequent updates (after and indexing operation), so this should be
less of a concern. And you can tweak what contacts you get using
mu4e-compose-complete-only-personal,
mu4e-compose-complete-only-after and
mu4e-compose-complete-max.
If you still experience unexpected slowness, you can of course file a ticket, but please be sure to mention the following:
You can toggle between wrapped and non-wrapped states using w. If you want
to do this automatically, invoke visual-line-mode in your
mu4e-view-rendered-hook (mu4e-view-mode-hook fires too early).
mu4e from automatically marking messages as ‘read’ when I read them? ¶Set mu4e-view-auto-mark-as-read to nil.
See Skipping duplicates.
Indeed, airlines often send messages that heavily depend on html and are hard to digest inside emacs. Fortunately, there’s an action (Message view actions) defined for this. Simply add to your configuration:
(add-to-list 'mu4e-view-actions
'("ViewInBrowser" . mu4e-action-view-in-browser) t)
Now, when viewing such a difficult message, type aV, and the
message opens inside a web browser. You can influence the browser to
use with browse-url-generic-program.
Since you do not own the recipient’s key you typically cannot read
those mails — so the trick is to encrypt outgoing mails with your
key, too. This can be automated by adding the following snippet to
your configuration (courtesy of user kpachnis):
(require 'epg-config)
(setq mml2015-use 'epg
epg-user-id "gpg_key_id"
mml2015-encrypt-to-self t
mml2015-sign-with-sender t)
mu4e (or, more precisely, its Gnus helpers) automatically convert CR-LF
(“Windows-style”) line-endings to Unix line endings for the text attachments.
That is usually convenient, but can be problematic when attachments are mislabeled as text when they contain binary data: in that case, the conversion would result in invalid data.
If you run into that problem, you can advise the responsible function:
(defun mm-dcte-keep-crlf (args)
"Don't convert crlf->lf.
Advise `mm-decode-content-transfer-encoding' to not perform the
conversion."
(when (and (= (length args) 2)
(memq (nth 0 args) '(base64 x-uuencode x-uue x-binhex x-yenc))
(string-match "\\`text/" (nth 1 args)))
;; fake the type, so no conversion happens
(setf (nth 1 args) "application/octet-stream"))
args)
(advice-add 'mm-decode-content-transfer-encoding :filter-args #'mm-dcte-keep-crlf)