(require 'notmuch)
+or you can load the package via autoload:
+
+ (autoload 'notmuch "notmuch" "notmuch mail" t)
+
Then, either run "emacs -f notmuch", or execute the command `M-x
notmuch` from within a running emacs.
If you would like to use address autocompletion when composing
messages, see [address completion](#address_completion).
-When you are ready to send a message, type `C-c C-c`. By default
+When you are ready to send a message, type `C-c C-c`. By default
message mode will use your sendmail command to send mail, so make sure
-that works. One annoying standard configuration of message mode is
+that works. One annoying standard configuration of message mode is
that it will hide the sent mail in your emacs frame stack, but it will
not close it. If you type several mails in an emacs session they will
accumulate and make switching between buffers more annoying. You can
avoid that behavior by adding `(setq message-kill-buffer-on-exit t)`
-in your `.emacs` file which will really close the mail window after
-sending it.
+in your `.emacs` file (or doing `M-x
+customize-variable<RET>message-kill-buffer-on-exit<RET>`) which will
+really close the mail window after sending it.
## Attaching files
Using the `M-x mml-attach-file` command, you can attach any file to be
-send with your mail. By default this command is bound to the menu item
-*Attachments--Attach File* with the key binding `C-c C-a`. The
+sent with your mail. By default this command is bound to the menu item
+*Attachments--Attach File* with the key binding `C-c C-a`. The
variable `mml-dnd-attach-options` (`M-x
-customize-variable<RET>mml-dnd-attach-options`) can be set to allow
-the prompting for various attachment options (such as
+customize-variable<RET>mml-dnd-attach-options<RET>`) can be set to
+allow the prompting for various attachment options (such as
inline/attachment) if you want to do that.
For those who prefer a more graphical interface, you can also simply
# Advanced tips and tweaks
+## Use separate emacs lisp file for notmuch configuration
+
+Instead of adding notmuch configuration code to `.emacs`, there
+is an option to collect those to a separate file (which is only
+loaded when `notmuch` is invoked). To do this, write, for example
+a file called `~/.emacs.d/my-notmuch.el`:
+
+ ;; my-notmuch.el -- my notmuch mail configuration
+ ;;
+
+ ;; add here stuff required to be configured *before*
+ ;; notmuch is loaded;
+
+ ; uncomment and modify in case some elisp files are not found in load-path
+ ; (add-to-list 'load-path "~/vc/ext/notmuch/emacs")
+
+ ;; load notmuch
+ (require 'notmuch)
+
+ ;; add here stuff required to be configured *after*
+ ;; notmuch is loaded;
+
+ ;(setq user-mail-address (notmuch-user-primary-email)
+ ; user-full-name (notmuch-user-name))
+
+ ; uncomment & modify if you want to use external smtp server to send mail
+ ; (setq smtpmail-smtp-server "smtp.server.tld"
+ ; message-send-mail-function 'message-smtpmail-send-it)
+
+Then, add to `.emacs`:
+
+ (autoload 'notmuch "~/.emacs.d/my-notmuch" "notmuch mail" t)
+
+
## Add a key binding to add/remove/toggle a tag
The `notmuch-{search,show}-{add,remove}-tag` functions are very useful
## msmtp, message mode and multiple accounts
-As an alternative to running a mail server such as sendmail or
-postfix just to send email, it is possible to use
-[msmtp](http://msmtp.sourceforge.net/). This small application will
+As an alternative to running a mail server such as sendmail or postfix
+just to send email, it is possible to use
+[msmtp](http://msmtp.sourceforge.net/). This small application will
look like `/usr/bin/sendmail` to a MUA such as emacs message mode, but
-will just forward the email to an external SMTP server. It's fairly
-easy to set up and it support several account for using different
-SMTP servers. The msmtp pages have several examples.
+will just forward the email to an external SMTP server. It's fairly
+easy to set up and it supports several accounts for using different
+SMTP servers. The msmtp pages have several examples.
A typical scenario is that you want to use the company SMTP server
for email coming from your company email address, and your personal
for the domains you want to send out using specific SMTP servers and
the rest will go to the default account.
+If you have a hard time getting the above to work for you, as I did,
+it's also possible to add a message-send-mail-hook in your .emacs to
+send the from header explicitly as an argument to msmtp as described
+[here](http://www.emacswiki.org/cgi-bin/wiki/GnusMSMTP#toc2) on the
+emacswiki.
+
+
## <span id="address_completion">Address completion when composing</span>
There are currently two solutions to this:
Alternatively, you may prefer to use `mml-secure-message-sign-pgpmime` instead
of `mml-secure-sign-pgpmime` to sign the whole message instead of just one
part.
+
+### Troubleshooting message-mode gpg support
+
+- If you have trouble with expired subkeys, you may have encounted
+ emacs bug #7931. This is fixed in git commit 301ea744c on
+ 2011-02-02. Note that if you have the Debian package easypg
+ installed, it will shadow the fixed version of easypg included with
+ emacs.