README.md in chronicle-email-0.2.1 vs README.md in chronicle-email-0.2.2

- old
+ new

@@ -7,20 +7,59 @@ ```sh # Install chronicle-etl and this plugin $ gem install chronicle-etl $ chronicle-etl plugins:install email +``` -# Process emails from an mbox file -$ chronicle-etl --extractor email:mbox -i test.mbox --transformer email --fields subject +### Extracting email from IMAP + +For Gmail accounts, you can create an [app password](https://myaccount.google.com/apppasswords); your email address is your username. + +```sh +# 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](https://takeout.google.com/settings/takeout) exports emails from gmail in this format. + +```sh +# 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](https://myaccount.google.com/apppasswords). Your email address is your username. + #### `mbox` -Extractor for importing emails from an mbox file +Extractor for importing emails from an MBOX file ##### Settings - `input`: A path to an .mbox file ### Transformers @@ -29,8 +68,5 @@ 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`](https://github.com/github/email_reply_parser) gem) - -## Roadmap -- Add an IMAP (and gmail) extractor #1 \ No newline at end of file