0.0
No release in over a year
Various email importers for chronicle-etl
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.1
~> 13.0
~> 3.9

Runtime

 Project Readme

Chronicle::Email

Gem Version

Extract and work with your email using the command line with this plugin for chronicle-etl.

Usage

# Install chronicle-etl and this plugin
$ gem install chronicle-etl
$ chronicle-etl plugins:install email

Extracting email from IMAP

For Gmail accounts, you can create an app password; your email address is your username.

# Save username and password
$ chronicle-etl secrets:set imap username foo@gmail.com
$ chronicle-etl secrets:set imap password APPPASSWORD

# Then, retrieve your email from the last five days
$ chronicle-etl --extractor email:imap --transformer email --since 5d --loader json

# If you don't want to save your credentials as a secret, you can just pass
# them to the extractor directly
$ chronicle-etl --extractor email:imap --transformer email --since 5d --loader json \
    --extractor-opts username:foo@gmail.com --password:APPPASSWORD

Processing email from an .mbox file

The MBOX format is used to archive an email mailbox. Google Takeout exports emails from gmail in this format.

# Retrieve the subject lines of all emails in test.mbox
$ chronicle-etl --extractor email:mbox --input inbox.mbox --transformer email --fields subject

Available Connectors

Extractors

imap

Extractor for importing recent emails from an IMAP server.

Settings
  • since: Retrieve emails since this date
  • until: Retrieve emails until this date
  • username
  • password
  • host: (default: imap.gmail.com)
  • port: (default: 993) Use 143 for unencrypted connections
  • mailbox: (default: "[Gmail]/All Mail")
  • search_query: When using Gmail, you can pass in a search query (from:foo has:attachment) to filter messages by

For accessing Gmail, you can create a one-time app password. Your email address is your username.

mbox

Extractor for importing emails from an MBOX file

Settings
  • input: A path to an .mbox file

Transformers

email

Transform an email (in the form of a string) into Chronicle Schema

Settings
  • body_as_markdown: (default: false) Whether to convert the email body into markdown
  • remove_signature: (default: true) Whether to attempt to strip out the email signature (using the email_reply_parser gem)