From bded18018dcb029b6b0570af9cf8edf2c6066cd6 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Mon, 12 Apr 2010 11:20:58 +0200 Subject: [PATCH] emacstips: how to add a user-agent header Signed-off-by: Sebastian Spaeth --- emacstips.mdwn | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/emacstips.mdwn b/emacstips.mdwn index 572baf1..c0f7617 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -197,7 +197,15 @@ As its name implies, notmuch isn't really doing that much (which is part of its * **how to get email address completion** 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. This is how you compile the (3rd party) tool "addrlookup" to give you address completion: + 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. @@ -206,4 +214,29 @@ As its name implies, notmuch isn't really doing that much (which is part of its 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. \ No newline at end of file + repositories which contain the files. + +* **how to insert a user agent header** + + Sometimes it is good to let the world know which email client you use, so others know which quirks to expect. And it is no shame to let others know that you are way ahead of mail2.0. Notmuch is mail3.0 (at least)! + + [This mail](http://mid.gmane.org/87y6gtnkch.fsf@SSpaeth.de) (id:87y6gtnkch.fsf@SSpaeth.de) posted some code, that -when inserted in your .emacs file- will add a User-Agent header (which is hidden during composing and in notmuch show, but which can be seen when viewing all headers of a mail): + + If you insert this slab of code, you will get a User-Agent header for notmuch + ;; set the User-Agent string whenever we invoke message mode + (add-hook 'message-mode-hook '(lambda() + ;; check if User-Agent is a required header and set it if not + (if (not (memq 'User-Agent message-required-mail-headers)) + (setq message-required-mail-headers + (append message-required-mail-headers '(User-Agent)))) + ;; hide the User-Agent header if not already hidden + (if (not (memq '"^User-Agent:" message-hidden-headers)) + (setq message-hidden-headers + (append message-hidden-headers '("^User-Agent:")))) + ;; create user agent string + (let ((notmuch-user-agent (concat + (substring (shell-command-to-string (concat notmuch-command " --version")) 0 -1) + " (Emacs " emacs-version "/" + system-configuration ")"))) + (setq message-newsreader notmuch-user-agent)) + )) -- 2.43.0