tychoish, a wiki

tychoish/code/ Org Inbox Script

Org Inbox Script

These scripts and glue accept email sent to a secret address and convert the body of the email into a file where the subject of the email becomes an org-mode headline with the body of the note as the body of that org-mode item. Using a custom FILE todo keyword, these items are included in the org-agenda (assuming that ~/mail/inbox.org is included on your agenda.) With a deadline of "today," relative to receipt of the email.

There are a few dependencies and assumptions. They are:

File (excerpt:) ~/.procmailrc:

 ## Change html email to text
 :0
 * ^Content-Type: text/html;
 {
  :0c
  $MAIL/html.a/
  :0fwb
  | `which html2text`
  :0fwh
  | `which formail` -i "Content-Type: text/plain; charset=us-ascii"
  LOG="HTML message found and converted..."
 }

 ## notes filtering

 :0
 * ^TO_.*[SECRET-EMAIL@example\.com.*
 {
   # :0 hc
   # | /opt/xmpp-notify "<org-mode.mail> $SUBJECT"
   :0c
   $MAIL/notes/

   :0 fwh
   |  /opt/org-inbox subject "$SUBJECT"
   :0 fwb
   | /opt/org-inbox body 

   :0:
   /dev/null
   }

File: /opt/org-inbox:

 #!/bin/bash

 touch ~/mail/inbox.org

 if [ "$1" = "body" ]; then 
     html2text | mimencode -u | sed -re '/^-- /,$ d
                                    /\=20$/ d'  >> ~/mail/inbox.org
 elif [ "$1" = "subject" ]; then
     shift
     BODY=$*
     echo \* FILE $BODY >> ~/mail/inbox.org    
     echo "DEADLINE: <`date \"+%Y-%m-%d %a\"`>" >> ~/mail/inbox.org
 else
    echo failure
    LOG="improper command" 
 fi