Wanderlust is a mail and news reader for Emacs with excellent IMAP support. It was originally developed by Yuuichi Teranishi.

Wandlerlust is hosted on GitHub. Documentation is also available there or as a local info file.


It is the only emacs mail reader that I have used that seems to handle IMAP properly (i.e., leaves messages on server, cacheing, etc.). Gnus (CategoryGnus) users may disagree. It integrates with BBDB (CategoryBbdb), supports MIME, can handle integrating with mailcrypt (cvs version) (WanderLustEncryption). MIME and PGP/MIME is handled via SEMI (SemiIsEmacsMimeInterface). Key-bindings are, at least to me, a little foreign at first. Documentation in English is sufficient though not overwhelming.

Installing Wanderlust

WanderLust is installable via MELPA or el-get.

You can also install wanderlust through your package manager (for GNU/Linux); search for “wanderlust”, “wl”, or “wl-beta” (recommended for Debian-based systems).

Basic Usage

Wanderlust has four basic buffers: Folder buffer, summary buffer, message buffer/view, and draft buffer.

Wanderlust starts in folder buffer, from which you can open a summary buffer (press “q” to close), which lists a summary of all messages in chosen folder. Navigate up/down with n/p, and N/P (only unread messages). Open a message for viewing with RET, and scroll up/down with SPC/BKSPC or RET/M-RET for line-scrolling. You can jump to the message with “j” for copying text, for instance, and press “q” to go back to summary buffer. Pressing “v” hides the message buffer, and “l” toggles the list of folders (folder buffer).

Pressing a/A opens the draft buffer for answering the message at point with/without citing the message. To write a new message press “w”. You can auto complete email addresses (form ~/.addresses), with TAB in the draft buffer.

There’s tons of more stuff you can do so reading the manual is a must. (M-x info RET >> C-s Wanderlust). The manual is also available at Github.

Configuration (Quickstart)

To get started, add the following line to your InitFile:

(autoload 'wl "wl" "Wanderlust" t)

As well as your InitFile, wl reads its configuration from two places: ~/.wl and ~/.folders. Samples of each file which include a few tips: .wl and .folders.

For the new user, the configuration can be quite troublesome. I had to look up most info myself in the wl mailing archives, which was a very tiresome process. I hope the following section helps you getting started with wanderlust.

(This section is only a stub and will be updated gradually.)

The first thing you will want to do is setup your folder. In folder view, go to the next line after Desktop, hit ‘m a’ and add the folder information. You’ll need to read the manual (accessible via info or on the website) about the format and options. If a connection has been established, you can enter the password. ‘M-x elmo-passwd-alist-save’ lets you save your passwords to ~/.elmo/passwd, so that you don’t have to enter them every time. ‘m p’ on a folder gives the folder a nice pet name (which you can choose, of course). ‘s’ on a folder syncs it (checks for updates on the server). ‘q’ exits the current view and asks if changes should be performed.

Wanderlust doesn’t automatically display all your IMAP folders. Add:


to your .folders to get all your folders. This doesn’t obey your subscribed list, but at least it shows your folders. Annoyingly it all sorts them in reverse order.

(It is not difficult to sort them in alphabetical order: simply type “m s” on the parent folder.)

You can use the same notation to browse any of wanderlust’s folder types. For instance, the following in your .folders file:


will produce a hierarchical tree of all shimbun feeds, which you can then browse.



will show you the complete hierarchy of newsgroups available on your default nntp server.

Setting up with Gmail

Check that you have enabled IMAP in your Gmail account settings, then put the following in your .wl:

;; IMAP, gmail:
(setq elmo-imap4-default-server "imap.gmail.com"
      elmo-imap4-default-user "myname@gmail.com"
      elmo-imap4-default-authenticate-type 'clear
      elmo-imap4-default-port '993
      elmo-imap4-default-stream-type 'ssl

      ;; For non ascii-characters in folder-names
      elmo-imap4-use-modified-utf7 t)

(setq wl-smtp-connection-type 'starttls
      wl-smtp-posting-port 587
      wl-smtp-authenticate-type "plain"
      wl-smtp-posting-user "myname"
      wl-smtp-posting-server "smtp.gmail.com"
      wl-local-domain "gmail.com"
      wl-message-id-domain "smtp.gmail.com")

(setq wl-from "My Name <myname@gmail.com>"

      ;; All system folders (draft, trash, spam, etc) are placed in the
      ;; [Gmail]-folder, except inbox. "%" means it's an IMAP-folder
      wl-default-folder "%inbox"
      wl-draft-folder   "%[Gmail]/Drafts"
      wl-trash-folder   "%[Gmail]/Trash"
      ;; The below is not necessary when you send mail through Gmail's SMTP server,
      ;; see https://support.google.com/mail/answer/78892?hl=en&rd=1
      ;; wl-fcc            "%[Gmail]/Sent"

      ;; Mark sent messages as read (sent messages get sent back to you and
      ;; placed in the folder specified by wl-fcc)
      wl-fcc-force-as-read    t

      ;; For auto-completing foldernames
      wl-default-spec "%")

Then you also need to set up your .folder-file. See WlMultipleAccounts for an example.

Setting up NNTP

You can use wl as a NNTP client, and post to usenet newsgroups. In the folder view, type m a, then add an NTTP folder. Try reading the WL mailinglist:



Check the variable ‘wl-local-domain’ and ‘stmp-local-domain’. It should have a real domain, at least “localhost”. See the previous example.

If the appropriate elmo-imap4-default-* variables are set then this is no problem. For individual folder entry lines, quote the username@domain, e.g.: %/:’username@campus.someuniversity.edu’/clear@serverdomain.com:993!

Getting Help

Please read the Info Manual carefully: (M-x info RET >> C-s Wanderlust). as there is an enormous wealth of knowledge and variables to tweak. The most active channel of wanderlust discussion (in English) is the mailing list.

Mailing List

You can get information and help via the mailing list at wl-en@ml.gentei.org (English) or wl@ml.gentei.org (Japanese). To join the mailing list, send an email to wl-ctl@ml.gentei.org or for English wl-en-ctl@ml.gentei.org, with “subscribe YOUR NAME” as subject and body. You can browse the new mailing list here. To unsubscribe mail wl-ctl@ml.gentei.org with “unsubscribe” as body.


As of January 2012 there’s an IRC channel #wanderlust at irc.freenode.net. If this does not exist, please check ##wanderlust, and ##wl.

Wanderlust related pages


Configuration files

Code snippets