Skip to main content

CLI to Sync MailingList archives in local Maildir from Hyperkitty.

Project description

HKsync

HKsync, short for Hyperkitty-Sync is a simple client to download archives for public mailing lists from Hyperkitty to a local Maildir to read with your favorite email client.

You don't have to be subscribed to the MailingList to download the archives. Since we just download public MailingLists, there is no need for any sort of authentication. We use Hyperkitty's export API to download emails as mbox and then populate a local Maildir.

WARNING: This is currently in alpha stage, although it has been tested by the author to work for simple situations.

Install

Right now, HKsync is in a alpha stage. To download and use, you need to download it from git repo. Here are the instructions:

# Clone the git repo.
$ git clone https://gitlab.com/mailman/hksync

# Create a virtualenv and install dependencies.
$ python3 -m venv hksync

# Download the dependencies.
$ source hksync/bin/activate
$ python setup.py install

Usage

HKsync let's you add various MailingLists and then sync from each of them using a single command, which can be used as a periodic cron job. It does not provide any mechanism to run periodically since there are several other tools already available to run commands periodically like Cron or Systemd.

To add a new MailingList:

$ hksync add --server https://myserver.com/hyperkitty --mlist mylist@myserver.com

You can list all the currently added MailingLists's using:

$ hksync list

You can remove a MailingList using:

$ hksync remove mylist@myserver.com

Finally, you can sync your emails using:

$ hksync sync

This will sync emails for past 1 day only. Optionally, you can provide a --days n parameter to sync past n days of emails for each list.

You can also pass --mlist mylist@myserver.com to sync emails for only one server instead of all.

Reading Emails

You can use your favorite Email client to read these emails since we use a standard Maildir format which most clients support.

mutt

This is a sample configuration to read emails in mutt, which is a popular command line email client:

# ~/.muttrc
set mbox_type=Maildir
set folder="~/hksync"
set mbox="~/hksync"
set spoolfile="~/hksync"

After this, you can just run mutt in your terminal to read the Emails from MailingLists that you downloaded.

If you don't want to alter the configuration, you can just run:

$ mutt -f ~/hksync

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hksync, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size hksync-0.2.1-py2.py3-none-any.whl (2.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size hksync-0.2.1.tar.gz (5.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page