addrcollector

By: Owen T. Heisler
Updated: 2020-07-03

addrcollector is a Python application for collecting email addresses from email messages. It is currently published on GitHub.

About

addrcollector collects email addresses from email messages. This is similar to Thunderbird’s “Collected Addresses” feature and corresponding functionality in other software. In the case of addrcollector, however, email messages are read from standard input, or manually on the command line, and the email address database can be queried by keyword.

It is possible for addrcollector to be integrated with a mail delivery system like Procmail or Maildrop to collect addresses from all messages, or with mail clients like Mutt or Alpine to collect addresses selectively.

Dates and display names are also collected. If an address is seen more than once, then (1) the date is updated and (2) the display name is updated if the new one is longer than the old one.

For example, to add an address manually (the display name is optional):

$ addrcollector add jon@example.com "Jon Smith"
$ addrcollector add sven@example.com

To import addresses from a message passed on standard input:

$ addrcollector import < mymail.msg

To search for addresses using keywords (multiple keywords may be given and are ORed):

$ addrcollector search jon sven
2020-07-03 jon@example.com                Jon Smith
2020-07-03 sven@example.com

Installing from PyPI

addrcollector is published on PyPI and can be installed with pip.

  1. Install the addrcollector package.

    $ pip3 install addrcollector
    

    This should provide a ~/.local/bin/addrcollector script that you can execute.

  2. If that path is included in your PATH environment variable, you can run the addrcollector command without typing the entire path. To set this up (if it hasn’t been done already), add the following code in your ~/.bash_profile (it may be ~/.profile for a shell other than Bash):

    if [ -d "$HOME/.local/bin" ] ; then
        PATH="$HOME/.local/bin:$PATH"
    fi
    

I share freely-licensed articles and open-source software. Please consider supporting my work if you find it useful. Thank you!