Skip to main content

Email-assistant reads email messages over IMAP and creates entries on a CalDAV server for events that it finds.

It is designed to operate locally so that you remain in control of your data.

It scans newly received emails to see if they match sources that it knows how to parse, and if so, extracts the schedule information from them and creates events. It will avoid creating duplicate events, even if an email is seen multiple times.

It currently understands emails from the following senders:

  • United Airlines

  • Marriott hotels (when booked directly)

  • Eventbrite

It is simple to add support for more types of emails, and additions are welcome.

Configuration

Create the file ~/.config/email-assistant/config with the following contents:

[mailbox example_mail]
type = IMAP
host = mail.example.com
username = USERNAME
password = PASSWORD
folders = INBOX

[calendar example_cal]
type = caldav
url = https://cloud.example.org/remote.php/dav/
username = USERNAME
password = PASSWORD
calendar = Personal

[pair]
mailbox = example_mail
calendar = example_cal

[general]
geocode = nominatim

Change the username, password, host, and url fields as appropriate, and optionally the folders field if you want to read from a folder other than your INBOX. You can also name the mailbox and calendar sections as you wish. Their names are used in the pair section. Multiple mailboxes, calendars, and pairs are supported.

A pair section must have exactly one mailbox and calendar entry. It tells Email-assistant to read new messages from the specified mailbox and write events to the specified calendar.

In some cases, emails do not contain the timezone information needed to make an ideal calendar event. To add this data, Email-assistant can optionally use the OpenStreetMap Nominatim web service to determine the location of some events and add the appropriate timezone. If you wish to enable this, include the general section above. If you omit it, Email-assistant will simply schedule such events without a timezone. This is used very rarely (currently, only for single-day events from Eventbrite).

Usage

Once the configuration file is in place, run:

email-assistant

It will output information about actions it takes. To get more debug information, run with the -v option. To only output errors (for example, if you want to run it in a cron job) use the -q option.

Release files for email-assistant 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for email-assistant 0.0.0
File Size Uploaded
email_assistant-0.0.0.tar.gz 64.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for email-assistant 0.0.0
File Interpreter ABI Platform
email_assistant-0.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 136.2 kB

Release files / email_assistant-0.0.0.tar.gz

Download URL email_assistant-0.0.0.tar.gz
Size 64.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ca15d38fb42538b40719e3372dec214f34a688f128e9e1cb58e5810a530dd8cf
BLAKE2b-256 checksum
How to use checksums
1ea34bc601ea8768e366f4d7dbe5589a2dc216f3243a003470a1ba4957b31859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

Release files / email_assistant-0.0.0-py3-none-any.whl

Download URL email_assistant-0.0.0-py3-none-any.whl
Size 71.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62bb57883e7b8a06180bd9600a8d088646afa3bacf582873c97ef0fb7b7bd282
BLAKE2b-256 checksum
How to use checksums
be26ddc01df4af74d28ff5abe2c4962e3622a0295d8815a2ad0ce57328238a85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page