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

* 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

* 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>

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``)
