単なるWebアプリではつまらないので、メールで処理依頼を受け付けられるようにしてみる。
ということで、メールを受信するアプリをGAE/J + Slim3で作ってみる。
まずは設定関係から...
この設定を行えば、アプリ宛のメール"abc@xyz.appspotmail.com"が受けられるようになる。
[war/WEB-INF/appengine-web.xml]
<inbound-services> <service>mail</service> </inbound-services>
[war/WEB-INF/web.xml]
<security-constraint> <web-resource-collection> <url-pattern>/_ah/mail/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint>
受信したメールをどのようにアプリで受け取るかというと、URL "/_ah/mail/メールアドレス"にマッピングされるのでサーブレットで処理すればよい。
Slim3の場合、AppRouter.javaでメール受信処理を行うコントローラのURLへのルーティングを定義すればよい。(Slim3 Controller - URL mapping参照)
[controller/AppRouter.java]
public AppRouter() { addRouting("/_ah/mail/{address}", "/mail/receive?address={address}"); }このコードでは、メールを受信すると /mail/receiveにリクエストがくることになる。またメールの宛先(To)アドレスはリクエストパラメータ"address"として渡されてくる。
これでメールを受信する準備が整ったのでメール受信用のコントローラを作ってみる。もちろん、テストもネ!
0 件のコメント:
コメントを投稿