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:
-
That you have
procmail
,mimencode
andhtml2text
installed on your machines and that you're using procmail to filter your email prior to it's delivery in your email -
I've commented this out, but I run an
xmpp-notify
script that sends me an XMPP message whenever one of these notes arrives, just as a check.
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