Emacs And Email
current setup (as of March 2016 - nik)
- mail delivery -
getmail
via IMAP withmaildrop
for filtering/filing into local subfolders - mail reading/writing/searching -
mu4enotmuch
inemacs
- sending - from within
emacs
usingsmtpmail
(andsmtpmail-stream-type 'ssl
) to connect to remote smtp server
some notes…
overview
i'm taking some time to migrate from Thunderbird to mu4e as primary email interface (with potential benefits of an increase in intertwingularity and serendipity). A psuedo-iterative routine has developed over the years, roughly as follows
- get mail from server (manually run
getmail
to local Maildir folder (~Maildir/INBOX) also used bydovecot
(local IMAP server)). generally prefer 'pull' to 'push' at this point. - filter mail (Thunderbird connects to local IMAP server, runs mail filters (automatically) sorting messages into maildirs (mailing lists → archive, sysadmin, spam, etc), manual filter of messages in INBOX (single keys as defined with Nostalgy extension. 'i' → 'incubation' maildir, 'a' → archive maildir, 'j' → junk, etc). this should result in a relatively manageable pile of messages.
- read messages in INBOX (and filter/refile as required into 'archive' or 'incubation') usually reply immediately if required or 'defer' (ideally to 'incubation' often left sitting in INBOX) sent messages are in 'Sent' maildir (archive on ~yearly basis to speed up searching/narrowing)
- if message requires a response, either mark as 'important' (in Thunderbird by pressing '1' in the list pane) or move to 'incubation' maildir. if message containes usefull info (meeting dates, train tickets, reading links, various side effects of partial automation, etc.) move to 'incubation' maildir. otherwise 'archive' read messages.
- if there is time, read through messages in 'incubation' folder; respond, follow-up, or 'archive' as required.
- repeat erratically
finding previous correspondence, follow-up, various details, etc+
- use narrowing search by 'from' and/or 'subject' or full search, both built into Thunderbird.
- mailing list traffic which is 'intersting' is refiled into 'incubation' as required.
current folder/maildir organisation; INBOX, Sent (and 'Drafts'), incubation (for responses, info, etc.), archive folders (one folder per decade and one for sent messages), sysadmin, Junk. (note: NO project based folders)
mail delivery
using getmail
to deliver mail from remote server[s] to local maildir folders, with maildrop
as a way of filing (filtering) messages into subfolders on the local machine. mu
' maintains an index (using .noindex and .noupdate files where nec. to improve performance). mu4e
runs getmail
and mu index
when updating it's database.
configs
~/.getmail/imap.conf
[retriever] type = SimpleIMAPSSLRetriever server = example.com username = xxxxxxx password = xxxxxxx [destination] type = MDA_external path = /opt/local/bin/maildrop
~/.mailfilter
# filtering with maildrop DEFAULT="$HOME/Maildir/INBOX" MAILDIR="$HOME/Maildir" logfile "$HOME/.mailfilter.log" # archive list messages if (/^List-id:.*/) to $MAILDIR/archiv-0201x # sysadmin for the sysadmin if (/^From:.*MAILER-DAEMON/) to $MAILDIR/sysadmin # [etc...]
mail reading, writing and referencing
- mu4e manual http://www.djcbsoftware.nl/code/mu/mu4e/
- still to sort out
- templates (e.g mindrot)
- clearer org-mu4e integration
- images in html mail (c.f. w3m, eww/shr, html2text)
- refiling to specified targets (e.g. 'a', 'j' and 's' in thunderbird/nostalgy)
- searches, constrained searches, searches as actions
- flow
mail sending
(setq message-send-mail-function 'smtpmail-send-it smtpmail-stream-type 'ssl smtpmail-default-smtp-server "mail.example.com" smtpmail-smtp-server "mail.example.com" smtpmail-smtp-service 465 )