* update documentation for mu4e
This commit is contained in:
@ -27,7 +27,8 @@ Texts.
|
|||||||
|
|
||||||
Welcome to @t{mu4e} (@emph{Mu-For-Emacs})! @t{mu4e} is an @t{emacs}
|
Welcome to @t{mu4e} (@emph{Mu-For-Emacs})! @t{mu4e} is an @t{emacs}
|
||||||
based e-mail client, based on the @t{mu} e-mail search engine. @t{mu4e}
|
based e-mail client, based on the @t{mu} e-mail search engine. @t{mu4e}
|
||||||
supports GNU Emacs 23 and later.
|
supports GNU Emacs 23 and later. Also, it assumes a Unix-like system; it has
|
||||||
|
been tested on Debian GNU/Linux.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Introduction::
|
* Introduction::
|
||||||
@ -61,34 +62,32 @@ exactly like I want it to. An even more important goal for me was to write
|
|||||||
some bigger program in Emacs Lisp (@t{elisp}), to better understand the
|
some bigger program in Emacs Lisp (@t{elisp}), to better understand the
|
||||||
language and its idioms.
|
language and its idioms.
|
||||||
|
|
||||||
Specifically, when it comes to @t{emacs}-based clients, I have tried a few of
|
When it comes to @t{emacs}-based clients, I have tried a few of them. I never
|
||||||
them. I never really got into @emph{Gnus}; I think it is by far the most
|
really got into @emph{Gnus}; I think it is by far the most popular
|
||||||
popular @t{emacs}-based mail client, but I found it hard to make behave the
|
@t{emacs}-based mail client, but I found it hard to make behave the way I like
|
||||||
way I like it; and in particular, I do not like its indirect approach to
|
it; and in particular, I did not like its indirect approach to Maildirs.
|
||||||
Maildirs.
|
|
||||||
|
|
||||||
@t{mu4e} has more common with programs such as
|
@t{mu4e} has things in common with programs such as
|
||||||
@t{notmuch}@footnote{@url{http://notmuchmail.org}} and @t{md}, but - in my
|
@t{notmuch}@footnote{@url{http://notmuchmail.org}} and @t{md}, but - in my
|
||||||
humble opinion- it offers some unique features as well. Basically, the mail
|
humble opinion- it offers some unique features as well. Basically, the mail
|
||||||
handling (deleting, moving etc.) is inspired by @emph{Wanderlust} (another
|
handling (deleting, moving etc.) is inspired by @emph{Wanderlust} (another
|
||||||
emacs-based e-mail client) @t{mutt} and @t{dired}, while it takes some cues
|
emacs-based e-mail client), @t{mutt} and @t{dired}, while it takes some cues
|
||||||
from @emph{GMail} with respect to being search-based. Thus, all the 'state' is
|
from @emph{GMail} with respect to being search-based.
|
||||||
in my maildirs, so I can switch between client and even synchronize over
|
|
||||||
@abbr{IMAP}. In practice, this means that @t{mu4e} can work fully
|
@t{mu4e} tries to keep all the 'state' in the maildirs, so I can switch
|
||||||
search-based, but also resemble a more 'traditional' folder-based e-mail
|
clients, synchronize over @abbr{IMAP} or backup with @t{rsync}.
|
||||||
client.
|
|
||||||
|
|
||||||
@node What mu4e does and doesn't do
|
@node What mu4e does and doesn't do
|
||||||
@section What mu4e does and doesn't do
|
@section What mu4e does and doesn't do
|
||||||
|
|
||||||
@t{mu4e} (and @t{mu}) does @emph{not} deal with getting your e-mail
|
@t{mu4e} (and @t{mu}) does @emph{not} deal with getting your e-mail messages
|
||||||
messages from some e-mail server; instead, this task is delegated to other
|
from some e-mail server; instead, this task is delegated to other tools, such
|
||||||
tools, such as @t{offlineimap}. As long as the messages end up in a
|
as @t{offlineimap} or @t{isync}. As long as the messages end up in a Maildir,
|
||||||
Maildir, @t{mu4e}/@t{mu} are happy to deal with them.
|
@t{mu4e}/@t{mu} are happy to deal with them.
|
||||||
|
|
||||||
@t{mu4e} also does @emph{not} implement sending messages either; instead, it
|
@t{mu4e} also does @emph{not} implement sending messages; instead, it depends
|
||||||
depends on the true-and-tested @emph{smtpmail} which is part of emacs. In
|
on the true-and-tested @emph{smtpmail} which is part of emacs. In addition,
|
||||||
fact, @t{mu4e} piggybacks on Gnus' message editor; @inforef{Top,Gnus message
|
@t{mu4e} piggybacks on Gnus' message editor; @inforef{Top,Gnus message
|
||||||
editor,message}.
|
editor,message}.
|
||||||
|
|
||||||
Thus, many of the traditional things an e-mail client needs to do, are
|
Thus, many of the traditional things an e-mail client needs to do, are
|
||||||
@ -99,7 +98,6 @@ messages around and so on.
|
|||||||
It's important to note the @t{mu4e} requires your mail to be in
|
It's important to note the @t{mu4e} requires your mail to be in
|
||||||
Maildir-format, typically stored in the directory @file{~/Maildir}.
|
Maildir-format, typically stored in the directory @file{~/Maildir}.
|
||||||
|
|
||||||
|
|
||||||
@node Getting started
|
@node Getting started
|
||||||
@chapter Getting started
|
@chapter Getting started
|
||||||
|
|
||||||
@ -147,15 +145,16 @@ manually. Please @ref{Example configuration} for a working example of this.
|
|||||||
@node Getting mail
|
@node Getting mail
|
||||||
@section Getting mail
|
@section Getting mail
|
||||||
|
|
||||||
In order for @t{mu} (and by extension, @t{mu4e}) to work, we need
|
In order for @t{mu} (and, by extension, @t{mu4e}) to work, we need to have our
|
||||||
to have our e-mail stored in a Maildir. If you were already using Maildirs,
|
e-mail messages stored in a Maildir. If you were already using Maildirs, you
|
||||||
your lucky, otherwise you will need to get your mail there in some other way.
|
are lucky; otherwise, you will need to get your mail there in some other way.
|
||||||
|
|
||||||
If you are using some external @abbr{IMAP} or @abbr{POP} server, you can use
|
If you are using some external @abbr{IMAP} or @abbr{POP} server, you can use
|
||||||
tools like @t{getmail} and @t{offlineimap} to download your message into a
|
tools like @t{getmail}, @t{offlineimap} or @t{isync} to download your message
|
||||||
Maildir-directory (@file{~/Maildir}, usually). If you are using a local
|
into a Maildir-directory (@file{~/Maildir}, usually). If you are using a local
|
||||||
mailserver (such as @emph{Postfix} or @t{qmail}), you can teach them to
|
mailserver (such as @emph{Postfix} or @t{qmail}), you can teach them to
|
||||||
deliver into a Maildir as well, maybe in combination with @t{procmail}.
|
deliver into a Maildir as well, maybe in combination with @t{procmail}. A bit
|
||||||
|
of googling should be able to provide you with the details.
|
||||||
|
|
||||||
@node Indexing your messages
|
@node Indexing your messages
|
||||||
@section Indexing your messages
|
@section Indexing your messages
|
||||||
@ -477,7 +476,8 @@ Some notes:
|
|||||||
@itemize
|
@itemize
|
||||||
@item You can customize which header fields are shown using
|
@item You can customize which header fields are shown using
|
||||||
@t{mu4e-view-fields}.
|
@t{mu4e-view-fields}.
|
||||||
@item TODO
|
@item You can customize the date format by setting
|
||||||
|
@code{mu4e-date-format-long}, using the format of @code{format-time-string}.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
You can find most things you can do with this message in the @emph{View} menu,
|
You can find most things you can do with this message in the @emph{View} menu,
|
||||||
@ -790,7 +790,7 @@ In the design, the next question was what format @t{mu} should use for its
|
|||||||
output for @t{mu4e} (@t{emacs}) to process. Some other programs use
|
output for @t{mu4e} (@t{emacs}) to process. Some other programs use
|
||||||
@abbr{JSON} here, but it seemed easier (and possibly, more efficient) just to
|
@abbr{JSON} here, but it seemed easier (and possibly, more efficient) just to
|
||||||
talk to @t{emacs} in its native language: @emph{s-expressions} (to be precise:
|
talk to @t{emacs} in its native language: @emph{s-expressions} (to be precise:
|
||||||
@emph{plists}), and interpret those using the @{emacs}-function
|
@emph{plists}), and interpret those using the @t{emacs}-function
|
||||||
@code{read-from-string}.
|
@code{read-from-string}.
|
||||||
|
|
||||||
So, now let's look how we process the data from @t{mu server} in
|
So, now let's look how we process the data from @t{mu server} in
|
||||||
|
|||||||
Reference in New Issue
Block a user