RedMine.JP:メールによるチケットの登録を参考につくれば良いみたい。とりあえず、メモ。
RedMine.JP:メールによるチケットの登録より
以下のいずれかの方法でRedmineがメールを受け取るよう設定できます:
- メールサーバからメールを転送:
- 利点: メールサーバがRedmineとは異なるサーバでもよい, メールが即座に処理される, 高速(アプリケーションのリロードが不要)
- 欠点: needs some configuration on your mail transfer agent (eg. Postfix, Sendmail…)
- IMAPサーバからの受信:
- 利点: 設定が容易、MTAの設定が不要, メールサーバがRedmineとは異なるサーバでもよい
- 欠点: メールの処理が即座には行われない (定期的にメールの取得を行うためのcronのジョブを追加する必要がある)
- 標準入力からのメール読み込み:
- 利点: テスト用途に最適
- 欠点: 遅い(メールが到着するごとにRedmineのアプリケーションのリロードが行われる), MTA上での設定が必要
1の方法の実現方法は以下のとおり
- PostfixなどのMTAでメールを受信する
- 受信したメールを rdm-mailhandler.rb に標準入力で引き渡す
- rdm-mailhandler.rb がオプション情報を付加して、POSTメソッドで MailHandlerController#indexに送信
- MailHandlerController#indexにて、ActionMailer::Baseを継承したモデルMailHanderにデータを引き渡す
- MailHanderモデルでオプションとメール生データを切り分けて処理