2008-01-26

未来メールの作り方

未来の自分へメールを出したいと思ったことはありませんか? 私はよくあります。週明けの朝、忘れ物をしないようにメールを出せたらどうでしょう。今は出来ないことを将来の自分に託してメールを出せたらどうでしょう。自分に対する励ましのメールが忘れた頃にやってくるなんて、素敵じゃありませんか? というわけで、作ってみました。

具体的には面倒なので書きませんが、一通りの流れを書くと以下のようになります。

  1. /etc/aliasesでメール着信時にスクリプトを起動
  2. 着信時のRubyスクリプトの処理
    1. 標準入力からすべて文字列として読み取り
    2. TMailライブラリでメールをparse
    3. 送信日時を指定する専用のヘッダー(私はX-Miraiにしました)をTime.parseで読み取り
    4. PStoreライブラリで送信日時、メールテキスト、送り先を保存
  3. cronで定期的にスクリプトを起動
    1. PStoreで保存されているメールを読み取り
    2. Time.nowを過ぎているメールと過ぎていないメールを仕分け
    3. 過ぎているメールはNet::SMTPで送信
    4. 過ぎていないメールは残す