Nottoomuch-addresses is a tool to provide email address matches for given substring.

Email addresses are gathered from the headers of mail files known by notmuch mail indexer.

Current version of is 2.2 released 2014-03-29 and it is available... in the github page mentioned below.

New versions (and developments) are available in nottoomuch github page. Please visit.

How to Install

Text version: install.text
  1. Copy to the machine you're running notmuch and find suitable location for it.
  2. Verify its sha1 (not md5!) checksum is e5cd24ff0f0f5dd63e9136ea35d99e4d90b91513.
  3. chmod 755 /path/to/
  4. Run /path/to/ --update
    When run first time this gathers email addresses from all of your mail. This may take a long while to complete -- depends on the amount of email you have. Further --updates are much faster as those just take addresses from new mail.
  5. Test that it works: Run /path/to/ notmuchmail
  6. In case you're using emacs mua with notmuch, edit your notmuch configuration for emacs with the following content:
          (require 'notmuch-address)
          (setq notmuch-address-command "/path/to/")
  7. Restart emacs notmuch mua (or eval above lines) and start composing new mail. When adding recipient to To: field. press TAB after 3 or more characters have been added. In case you get 2 or more address matches, use arrow keys in minibuffer to choose desired recipient...
  8. Enjoy!


Version 2.2 ... documented here.

Version 2.1    2012-02-22 14:58:58 UTC (diff)

   * Fixed a bug where decoding matching but unknown or malformed =?...?=-
     encoded parts in email addresses lead to infinite loop.

Version 2.0    2012-01-14 03:45:00 UTC (diff)

   * Added regexp-based ignores using /regexp/[i] syntax in ignore file.
   * Changed addresses file header to v4; 'addresses' file now contains all
     found addresses plus some metainformation added at the end of the file.
     Filtered (by ignores) address list is now in new ''
     file and the fgrep code at the beginning now uses this "active" file.
     Addresses file with header v2 and v3 are supported for reading.
   * Encoded address content is now recursively decoded.

Version 1.6    2011-12-29 06:42:42 UTC (diff)

   * Fixed 'encoded-text' recognition and concatenations, and underscore
     to space replacements. Now quite RFC 2047 "compliant".

Version 1.5    2011-12-22 20:20:32 UTC (diff)

   * Changed search to exit with zero value (also) if no match found.
   * Changed addresses file header (v3) to use \t as separator. Addresses
     file containing previous version header (v2) can also be read.
   * Removed outdated information about sorting in ASCII order.

Version 1.4    2011-12-14 19:24:28 UTC (diff)

   * Changed to run notmuch search --sort=newest-first --output=files ...
     (instead of notmuch show ...) and read headers from files internally.
   * Fixed away joining uninitialized $phrase value to address line.

Version 1.3    2011-12-12 15:41:05 UTC (diff)

   * Changed to store/show addresses in 'newest first' order.
   * Changed addresses file header to force address file rebuild.

Version 1.2    2011-12-06 18:00:00 UTC (diff)

   * Changed search work case-insensitively -- grep(1) does it locale-aware.
   * Changed this program execute from /bin/sh (wrapper).

Version 1.1    2011-12-02 17:11:33 UTC (diff)

   * Removed Naïve assumption that no-one runs update on 'dumb' terminal.
   * Check address database file first line whether it is known to us.

   Thanks to Bart Bunting for providing a good bug report.

Version 1.0    2011-11-30 20:56:10 UTC

   * Initial release.