php-tool-box:mail-to-todo
メールでTodo.phpにTODOを追加 - mail2todo
コメントと更新履歴はゼロと無限の間のログ » Todo.phpでどうぞ。
Todo.phpのオプションツール。メールでTODOを追加できる。
外出中なんかに携帯電話からメモ感覚でTODOを追加するために作った。
内部的にはメール用ライブラリとしてMailMan.phpを使っている。
使い方
送信先メールアドレスの@より左側がカテゴリになる。(例 “foo@exmaple.com”ならfooがカテゴリ名になる)
件名がTODOの内容になる。件名の最初に数字+スペースを入れると、その数字が優先度になる。(例 “5 ミルクを買う”)
サーバ側ではコマンドラインからこのPHPを起動して、パラメータとしてメールのファイルパスを渡す。
LinuxならqmailやPostfixからパイプで渡す。
WindowsならXMailが簡単。Java使いならApache Jamesで頑張る?
ソースコード
<?php /** * @version 0.1.1 */ require('Todo.php'); require('MailMan.php'); //メールのファイルを取得 $path = $argv[1]; //php実行のパラメータとして渡される //メールを解析 mb_internal_encoding(Todo::ENCODING); $mail = MailMan::file2mail($path); $to = explode('@', $mail->to); $todo = new Todo($to[0]); //カテゴリチェック if (!$todo->isValidCat()) { error_log('Invalid category name! ' . $todo->cat); exit; } //優先度設定(優先度を指定する場合は先頭に「優先度+スペース」を付ける) $subjectArr = explode(' ', $mail->subject, 2); if (is_numeric($subjectArr[0])) { $pri = $subjectArr[0]; $task = $subjectArr[1]; } else { $pri = 1; $task = $mail->subject; } //TODOリストに追加 file_put_contents($todo->getPath(), $pri . "\t" . $task . "\n", FILE_APPEND);
php-tool-box/mail-to-todo.txt · 最終更新: 2008/03/03 22:58 by dgbadmin