+* **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
+ 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.
+
+ A typical scenario is that you want to use the company SMTP server
+ for email coming from your company email address, and your personal
+ server for personal email. If msmtp is passed the envelope address
+ on the command line (the -f/--from option) it will automatically
+ pick the matching account. The only trick here seems to be getting
+ emacs to actually pass the envelope from. There are a number of
+ overlapping configuration variables that control this, and it's a
+ little confusion, but setting these three works for me:
+
+ - mail-specify-envelope-from: t
+
+ - message-sendmail-envelope-from: header
+
+ - mail-envelope-from: header
+
+ 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.
+
+* <span id="address_completion">**how to get email address completion**</span>
+ There are 2 solutions. Use "bbdb" which allows you to maintain a mail database and gives you mail address completion with the tab key.
+
+ Alternatively, you use the notmuch database as a mail address book
+ itself. You need a command line tool that outputs likely address
+ candidates based on a search string. There is a python tool
+ notmuch_address.py (which can be fetched with `git clone
+ http://jkr.acm.jhu.edu/git/notmuch_addresses.git`) (slower, but no
+ compilation required so good for testing the setup) or the
+ vala-based addrlookup (faster, but needs compiling). This is how
+ you compile the (3rd party) tool "addrlookup" to give you address
+ completion:
+
+ - you need the addrlookup binary, first of all. Grab http://github.com/spaetz/vala-notmuch/raw/static-sources/src/addrlookup.c and build it with `cc -o addrlookup addrlookup.c ``pkg-config --cflags --libs gobject-2.0`` -lnotmuch`. That should give you the binary that you can test already.
+
+ - EUDC is integrated into emacs and can be used for tab completion
+ of email addresses. The code I use is here
+ http://gist.github.com/359425. It was announce in [this
+ mail](http://mid.gmane.org/87fx3uflkx.fsf@jhu.edu)
+ (id:87fx3uflkx.fsf@jhu.edu) which contains links to the git
+ repositories which contain the files.
+
+* <span id="sign_messages_gpg">**how to sign/encrypt my messages with
+ gpg**</span>
+
+ You can manually sign your messages with gpg by invoking `M-x
+ mml-secure-sign-pgpmime` (or `M-x
+ mml-secure-encrypt-pgpmime`). These functions are available via the
+ convenient (*cough cough*) keybindings `C-c C-m s p` and `C-c C-m c
+ p` by default. To sign my outgoing mail by default, I use this hook
+ in my .emacs file:
+
+ ;;sign messages by default
+ (add-hook 'message-setup-hook 'mml-secure-sign-pgpmime)
+
+ This inserts the blurb `<#part sign=pgpmime>` into the beginning of
+ my mail text body and will be converted into a pgp signature when
+ sending (so I can just manually delete that line if I do not want a
+ mail to be signed).