| Title: Using emacs to manage mails with mu4e | |
| Author: Solène | |
| Date: 15 June 2017 | |
| Tags: emacs email | |
| Description: | |
| In this article we will see how to fetch, read and manage your emails | |
| from Emacs using mu4e. The process is the following: mbsync command | |
| (while mbsync is the command name, the software name is **isync**) | |
| create a mirror of an imap account into a Maildir format on your | |
| filesystem. **mu** from mu4e will create a database from the Maildir | |
| directory using xapian library (full text search database), then mu4e | |
| (mu for emacs) is the GUI which queries xapian database to manipulates | |
| your mails. | |
| Mu4e handles with dynamic bookmarks, so you can have some predefined | |
| filters instead of having classic folders. You can also do a query and | |
| reduce the results with successives queries. | |
| You may have heard about using notmuch with emacs to manage mails, | |
| mu4e and notmuch doesn't do the same job. While notmuch is a nice tool | |
| to find messages from queries and create filters, it operates as a | |
| read-only tool and can't do anything with your mail. mu4e let you | |
| write mail, move, delete, flag etc... AND still allow to make complex | |
| queries. | |
| I wrote this article to allow people to try mu4e quickly, you may want | |
| to read both isync and mu4e manual to have a better configuration | |
| suiting your needs. | |
| ## Installation | |
| On OpenBSD you need to install 2 packages: | |
| # pkg_add mu4 isync | |
| ## isync configuration | |
| We need to configure isync to connect to the IMAP server: | |
| Edit the file **~/.mbsyncrc**, there is a trick to not have the | |
| password in clear text in the configuration file, see isync | |
| configuration manual for this: | |
| iMAPAccount my_imap | |
| Host my_host_domain.info | |
| User imap_user | |
| Pass my_pass_in_clear_text | |
| SSLType IMAPS | |
| Account my_imap | |
| Path ~/Maildir/my_imap/ | |
| Inbox ~/Maildir/my_imap/Inbox | |
| SubFolders Legacy | |
| Master :my_imap-remote: | |
| Slave :my_imap-local: | |
| Patterns * | |
| Create Slave | |
| Expunge Both | |
| ## mu4e / emacs configuration | |
| We need to configure mu4e in order to tell where to find the mail | |
| folder. Add this to your **~/.emacs** file. | |
| (require 'mu4e) | |
| (setq mu4e-maildir "~/Maildir/my_imap/" | |
| mu4e-sent-folder "/Sent Messages/" | |
| mu4e-trash-folder "/Trash" | |
| mu4e-drafts-folder "/Drafts") | |
| ## First start | |
| A few commands are needed in order to make everything works. We need | |
| to create the base folder as mbsync command won't do the job for some | |
| reason, and we need mu to index the mails the first time. | |
| mbsync can takes a moment because it will download ALL your mails. | |
| $ mkdir -p ~/Maildir/my_imap | |
| $ mbsync -aC | |
| $ mu init --maildir=~/Maildir/my_imap | |
| $ mu index | |
| ## How to use mu4e | |
| start emacs, run **M-x mu4e RET** and enjoy, the documentation of mu4e | |
| is well done. Press "U" at mu4e screen to synchronize with imap | |
| server. | |
| A query for mu4e looks like this: | |
| list:misc.openbsd.org flag:unread avahi | |
| and which are unread and which contains "avahi" pattern. | |
| date:20140101..20150215 urgent | |
| 15th february 2015 containing word "urgent". | |
| ## Additional notes | |
| The current setup doesn't handle sending mails, I'll write another | |
| article about this. This requires configuring a smtp authentification | |
| and an identify for mu4e. | |
| Also, you may need to tweak mbsync configuration or mu4e | |
| configuration, some settings must be changed depending on the imap | |
| server, this is particuliarly important for deleted mails. | |