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.1.tar.gz (6.3 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for tickle-me-email-3.5.1.tar.gz
Algorithm Hash digest
SHA256 75b0e7a69fe0ab926098ac93606d640c9ac26fcdb2e9c7b47430d58d3536a323
MD5 e8133c091a324fd7b0f7ace5bdae00d1
BLAKE2b-256 7e006e00b3154f4ca5b60e179c8c7922950c597c1eb438da62bd2c0b8664d000

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