Skip to main content

Toolbox for implementing GTD-like behaviours in your IMAP inbox

Project description

tickle-me-email
===============

Toolbox for implementing GTD-like behaviours in your IMAP inbox.


Examples
--------

* Print the current "TODO" list::

$ tickle-me-email todo

* Send a "TODO" email to yourself, injecting it via IMAP::

$ tickle-me-email todo Empty recycle bin

or::

$ echo Empty recycle bin | tickle-me-email todo -

* "Tickler" file email rotation from ``DELAYED.07`` to ``DELAYED.06`` etc.
Mail from ``DELAYED.01`` is moved to your main inbox. Use this to "put off"
emails until a day they are important. To be run daily from ``cron(8)``::

$ tickle-me-email rotate Inbox.Mail.DELAYED.%02d 1 7 INBOX

* Single-folder version of the above to move email for "after" work into your
main inbox. Use this when you receive a non-work email during the day. To be
run at, say, 6:15pm from ``cron(8)``::

$ tickle-me-email move Inbox.Mail.DELAYED.18h15 INBOX

* Create ``count`` folders based on the specified Python string
``template`` starting at ``start``. For example::

$ tickle-me-email create-folders "Inbox.Mail.DELAYED.%02d" 1 14

... will create:

* Inbox.Mail.DELAYED.01
* Inbox.Mail.DELAYED.02
* [...]
* Inbox.Mail.DELAYED.14

* Send draft emails queued in the ``LATER.Evening``, moving them to ``Sent
Items`` if successful. Use this to avoid getting replies "too" quickly. To be
run at, say, 6:15pm from ``cron(8)``::

$ tickle-me-email send-later INBOX.Mail.LATER.Evening "INBOX.Sent Items"

* List all email mailboxes. Use this to find out the "internal" names of your
IMAP folders::

$ tickle-me-email list

* Insert an email into your drafts folder::

$ DRAFT_ATTACHMENT="/path/to/attachment.txt" tickle-me-email drafts - < /path/to/body.txt

* Print the all the current subject lines (eg. for scripting)::

$ tickle-me-email subjects

* Print the current configuration::

$ tickle-me-email config


Configuration
-------------

You configure ``tickle-me-email`` via the optional configuration files:

* ``~/.config/tickle-me-email/tickle-me-email.cfg``
* ``/etc/tickle-me-email/tickle-me-email.cfg``

For example::

[imap]
server=imap.example.org
username=lamby
password=secret
secure=true

[smtp]
server=smtp.example.org
username=lamby
password=secret
secure=true

[todo]
mailbox=INBOX
recipient=TODO <your@email.com>

[draft]
mailbox=INBOX.Drafts
subject=Default draft subject

Alternatively, you can define the following environment variables:

* ``IMAP_SERVER`` (eg. ``imap.example.org``)
* ``IMAP_SECURE`` (eg. ``true``/``false``)
* ``IMAP_USERNAME`` (eg. ``lamby``)
* ``IMAP_PASSWORD`` (eg. ``secret``)

* ``SMTP_SERVER`` (eg. ``smtp.example.org``)
* ``SMTP_SECURE`` (eg. ``true``/``false``)
* ``SMTP_USERNAME`` (eg. ``lamby``)
* ``SMTP_PASSWORD`` (eg. ``secret``)

* ``TODO_EMAIL`` (eg. ``TODO <your@email.com>``)
* ``TODO_PREFIX`` (eg. ``TODO: ``)
* ``TODO_MAILBOX`` (eg. ``INBOX``)

* ``DRAFT_TO`` (eg. ``someone@example.org``)
* ``DRAFT_CC`` (eg. ``someone-else@example.org``)
* ``DRAFT_BCC`` (eg. ``someone-else2@example.org``)
* ``DRAFT_SUBJECT`` (eg. ``Draft subject``)
* ``DRAFT_MAILBOX`` (eg. ``INBOX.Drafts``)
* ``DRAFT_ATTACHMENT`` (eg. ``/path/to/filename.txt``)
* ``DRAFT_EXTRA_HEADERS`` (eg. ``X-Me-Personality: 20851409`)

* ``SUBJECTS_MAILBOX`` (eg. ``INBOX``)

Project details


Download files

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

Source Distribution

tickle-me-email-3.5.0.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file tickle-me-email-3.5.0.tar.gz.

File metadata

File hashes

Hashes for tickle-me-email-3.5.0.tar.gz
Algorithm Hash digest
SHA256 ee7d28ad7a4ea8eebdb717a85783877ef28675c5e9e6f0200f148883e08c3832
MD5 ea384432b54cc7c5f40cf6b6e0f2da2d
BLAKE2b-256 3396ef5152ffe9960d384b45d5a42b20e53b22c32dac33a98ea2540de1068815

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page