前回、メール受信ができるように設定を行ったので、メール受信するプログラムを作っていく。
まずは必要となるソースを生成しておく。とりあえずコントローラとサービスは必要なので、これらを生成しておく。
- メール受信のコントローラ: "gen-controller"で /src/../controller/mail/ReceiveController.java と /test/../controller/mail/ReceiveControllerTest.java を生成する。
- メール受信のサービス: "gen-service"で /src/../service/MailService.java と /test/../service/MailServiceTest.java を生成する。
さて最初はMailServiceのテストだが、仕様を考えなければいけないのでGAE/Jでのメール受信について調べてみる。
メール受信に関しては「Google App Engineドキュメント」の[Java]-[Services]-[Mail]-[Receiving Email]に書かれている。
ここの「Handling Incoming Email」を読むと下記のコードでMimeMessageオブジェクトが取得できる。
import java.util.Properties; import javax.mail.Session; import javax.mail.internet.MimeMessage; Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session, req.getInputStream());
ということで、メール受信のサービス MailServiceの仕様は次のようにする
[receiveメソッド]
- 引数
- 受信メールアドレス: コントローラに渡される受信メールアドレス
- InputStream:メールの内容(上記コード例のreq.getInputStream())
- 処理内容
- 引数 InputStreamからMimeMessageを生成する
- MimeMessageから"From", "To", "件名", "本文"を取り出す
- 取り出した項目から受信メールを表すモデルクラス(MailItem)を生成する
- 生成したMailItemを戻り値として返す
風邪気味なので今日はここまで、次回はMailServiceTestを作成する。
0 件のコメント:
コメントを投稿