]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
Tip how to use 'my-notmuch.el'...
[notmuch-wiki] / emacstips.mdwn
index 2b4029c542f12224b04f4f8062b502fb04a2731c..c384fb61b17161a5b869555188f7088f6a53f3e8 100644 (file)
@@ -14,6 +14,10 @@ To use the Notmuch emacs mode, first add the following line to your
 
        (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.
 
@@ -54,18 +58,18 @@ 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 (or doing M-x customize-variable
-message-kill-buffer-on-exit) 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
@@ -92,6 +96,40 @@ mentioned as script arguments. (Note: The script expects that you have
 
 # 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
@@ -223,13 +261,13 @@ don't know why."
 
 ## 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
@@ -250,6 +288,13 @@ With that in place, you need a `.msmtprc` with the accounts configured
 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:
@@ -303,3 +348,11 @@ is not required).
 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.