I use Mu4e. It is well documented (also via Info), and as of this writing, actively developed.
Mu4e is shipped as an add-on to mu, "a set of tools to deal with Maildirs and message files, in particular to index and search e-mail messages". It works together with offlineimap or fetchmail. I also use the Emacs package smtpmail-multi so that I can send ...
If you use Gnus (bundled with Emacs already), check https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org
Here is the summary of the guide:
Use minimum setup from EmacsWiki is enough (http://www.emacswiki.org/emacs/GnusGmail). It's setup for any mail service, not only Gmail
You can read/write html mail
You need ...
Sure GNUS is an answer. From emacswiki
And select gmane.emacs.devel. From here you can browse through the threads using GNUs NNTP interface (which is what it was originally written to do). This is probably the best solution for browsing through historical mailing lists.
As others have mentioned you may only want to read a ...
I use notmuch for my emails in emacs.
It does only operate on local mails which needed to be stored one message per file and I use maildir folders to which my smtp-server delivers. It should be able to cope with other solutions syncing mails to maildir folders on your computer.
To start using it you install the command-line base and the emacs ...
You can use the External Editor add-on to Thunderbird, and then set your external editor to emacs. If you go to this site, you can download the file exteditor_v100.xpi. Then from inside of Thunderbird, from the add-ons manager, you can "install add-on from file". After you restart, you can find the options for External Editor in the add-ons manager, and from ...
I can only suggest a solution for gnus and dired but it is at least easier as lawlist suggested. Open the directory in dired with C-x 4 d and type M-x turn-on-gnus-dired-mode. Then mark the required files and type C-c RET C-a. That's it and the files can be attached to an already opened or a new message buffer (I'm not sure if this works for other MUAs as ...
There is, you need to:
; Activate delayed messages:
And this is also handy:
; Remove date, so delayed messages (C-c C-j) don't get a date until
; sent <email@example.com>:
(setq message-draft-headers '(References From))
automated sending is activated by this (otherwise it will be sent ...
You can't set mu4e-maildir in contexts.
You can set any kind of variable; including settings for mail servers etc. However, settings such as mu4e-maildir and mu4e-mu-home are not changeable after they have been set without quitting mu4e first.
So, you should set as follows:
You'll want to look at Gnus Demon.
From gnus-demon.el you'll probably want gnus-demon-scan-mail or gnus-demon-add-scanmail [Defaults to 120, 60: Scan every 2 hours if idle for 1 hour].
This is probably closer to the standard 5-minute scan on phones/applications:
(gnus-demon-add-handler 'gnus-demon-scan-mail 5 t)
EmacsWiki has a comparison of Gnus ...
One way is to hook into message-send-hook:
message-send-hook is a variable defined in ‘message.el’.
Its value is nil
This variable may be risky if used as a file-local variable.
Hook run before sending messages.
This hook is run quite early when sending.
(defun my-confirm-empty-subject ()
"Allow user to quit when current ...
I was a happy user of mew for many years.
I haven't used emacs for reading and writing mail for a long time now, so this information may well be outdated. Hopefully, more recent mew users can fill it in. For now, consider this answer a stub. (I'll make it community wiki, so others can edit it more freely.)
First and foremost, in my experience, mew was fast....
Use wrapper shell script.
Below please find trivial sample script checking connection status as reported by Unix/Linux NetworkManager.
# exit if there is no internet connection
/usr/bin/nm-online || exit
Emacs fix (use wrapper instead of directly using offlineimap):
(setq mu4e-get-mail-command "/home/me/bin/offlineimap-...
The usual approach is to force encryption to happen for your own key, in addition to the recipients' (and that's only one encryption).
Depending on what you use exactly, you might want to
(setq mml2015-encrypt-to-self t)
in your gnupg configuration, or anything similar.
This way, your messages will be stored encrypted, and you'll ...
The variable mu4e~contacts-for-completion stores a list of contacts that mu4e knows about. The contacts are conveniently stored as "name <email>" strings, which is the same thing you want to insert.
Here's an example function that uses the variable together with ido to select and insert a contact:
(defun select-and-insert-contact ()
Implementation in elisp only.
Support of IMAP4rev1, NNTP, POP(POP3/APOP), MH and Maildir.
Integrated access to messages based on Folder Specifications like Mew.
Key bindings and mark processing like Mew.
Management of threads and unread messages.
Folder mode to select and edit subscribed ...
The following Emacs mailers are written entirely in Emacs Lisp:
The following Emacs mailers are mostly written in Lisp, but use some components written in C:
I know nothing about mail in Emacs, but running C-h k C-x m tells me that C-x m runs the command compose-mail, which is different from mail. This is presumably why they behave differently. You can find out more with C-h f compose-mail and C-h f mail.
If Gnus doesn't see some or all mail in your mail directory, even though the files are there, it may be for 2 reasons.
You miss or have corrupted an .overview file. An .overview file is called a NOV database, Gnus uses this file to track your mail.
Call nnml-generate-nov-databases-directory, enter directory containing your mail. Or, call nnml-generate-nov-...
(Posting this Q&A combo since it took me a while to figure out, and it might save someone else the trouble.)
this answer to
a question on how to test for an internet connection within elisp,
we can call a shell command:
(defun internet-up-p (&optional host)
(= 0 (call-process "ping" nil nil nil "-c" "1" "-W" "1"
smtpmail-send-it: Sending failed: 530 5.7.0 Must issue a STARTTLS
command first. u9sm80344949wjy.37 - gsmtp
You did not start tls, you need it to open a TLS connection to your gmail account.
Not a direct answer to your request, but this is an Emacs configuration for sending mails with gmail. The gnutls package should be installed system wide ex: apt ...
You'll have to write the wl-summary-line-age function yourself, but the way to add a new summary line format string, e.g. %a is to use:
(defun wl-summary-line-age ()
... some magic with the wl-datevec variable (see wl-summary-line-year, etc.)
I have dealt with this issue a lot. The encoding will be depending on information in the file. If there is no information in the file explicitly to determine what it is, you could get such things as above.
If your work doesn't involve a lot of ancient systems which require different coding, you could consider to force default UTF-8 coding everywhere.
This should at least, get you started:
but compose and send email in emacs. Since python can send mail from the command line, I suspect this would not be too difficult for emacs.
This is what I have in my init file for composing mail, and send them using gmail, gnutsl should be installed in your OS:
;; send mail
Turns out that it's pretty straightforward to put this function together, although there's a bunch of housekeeping to keep the buffers tidy. The following command words with mu4e in both its headers and view modes. It's minimally tested at this point, but seems to be working in the main. Note that it hard codes a few things such as the section heading and ...
Is there a way to let mu4e display certain attachments inline with the email text?
The short answer is "no."
mu concatenates all text/plain parts to form the body of a message--- both for indexing and viewing messages. As far as I can tell only text/plain gets this treatment and since this is done by mu you cannot change this behavior in mu4e. (See static ...
3.9.2 Thread Commands
Mark all articles in the current (sub-)thread as read
(‘gnus-summary-kill-thread’). If the prefix argument is positive,
remove all marks instead. If the prefix argument is negative, tick
— (info "(gnus) Thread Commands")
And please do not ask me, how should ...
Inside any major mode you can type M-x describe-mode (C-h m) to view its description and key bindings.
C-c C-s mail-send (send the message)
C-c C-c mail-send-and-exit (send the message and exit)
I recommend you read the Emacs Manual node on Sending Mail.
Note that message-mode has superseded mail-mode as the default compose-mail (C-x ...
I solved this myself using excorporate. To activate and integrate excorporate I used the following configuration in my .spacemacs (since I am using spacemacs)
I added excorporate to dotspacemacs-additional-packages and added the following to the user-config section of .spacemacs
;; configure excorporate
;; allow opening the exchange calendar with 'e' ...
You need to connect to the server over TLS. In order to do that, you need to add --tls to rmail-movemail-flags. You can use customize to set this variable interactively; if you wish to set it in your init file instead, you can do something like
(setq rmail-movemail-flags '("--tls"))
Note however that Rmail is a fairly primitive mailer. There are better ...