未来の自分へメールを出したいと思ったことはありませんか? 私はよくあります。週明けの朝、忘れ物をしないようにメールを出せたらどうでしょう。今は出来ないことを将来の自分に託してメールを出せたらどうでしょう。自分に対する励ましのメールが忘れた頃にやってくるなんて、素敵じゃありませんか? というわけで、作ってみました。
具体的には面倒なので書きませんが、一通りの流れを書くと以下のようになります。
- /etc/aliasesでメール着信時にスクリプトを起動
- 着信時のRubyスクリプトの処理
- 標準入力からすべて文字列として読み取り
- TMailライブラリでメールをparse
- 送信日時を指定する専用のヘッダー(私はX-Miraiにしました)をTime.parseで読み取り
- PStoreライブラリで送信日時、メールテキスト、送り先を保存
- cronで定期的にスクリプトを起動
- PStoreで保存されているメールを読み取り
- Time.nowを過ぎているメールと過ぎていないメールを仕分け
- 過ぎているメールはNet::SMTPで送信
- 過ぎていないメールは残す