GAEでメール送信するの、どうしたらいいんやろーと思っていたのですが、本にサンプルが載っていて非常に簡単でした。送るだけなら。深くはやってないのでひとまずメモ。今回は自分のサイトのお問い合わせページを作るために調べているので、いうなれば自分宛にメールしています。だから、すごく簡単になってます。
GAEでメールを送る送信元のメアドは、
- 管理者のメールアドレス
- Googleアカウントでログインしているユーザ自身のメールアドレス
- 電子メール受信で使うことのできるメールアドレス
となっています。これはアドレス偽装してメール送信するのを防ぐためです。
一番簡単にメールを送る方法としては、管理者のメールアドレスを使ってしまうことです。今回はそうしています。
JavaMail APIとLow level APIの2つの方法がありますが、今回はLow level APIを使っています。本にこちらのほうが簡単と書いてあったので(^_^;)たしかにすごく簡単でした。
※ソースコードはSlim3のコントローラーです。validateなどは一切行っていません。
public class IndexController extends Controller {
@Override
public Navigation run() throws Exception {
if (isPost()) {
// POSTされたデータを取得
HashMap<String, Object> input = new RequestMap(request);
String name = input.get("name").toString();
String mail = input.get("mail").toString();
String subject = input.get("subject").toString();
String body = input.get("body").toString();
Message message = new Message();
message.setSender("********@gmail.com"); // 管理者のアドレス
message.setTo("****@********.com"); // 宛先を設定
message.setSubject(subject);
message.setTextBody("名前: " + name
+ "\n\nメールアドレス: " + mail + "\n\n"
+ body);
MailService ms = MailServiceFactory.getMailService();
// メールを送信する
ms.send(message);
return forward("index.jsp");
} else {
return forward("index.jsp");
}
}
}
シンプル過ぎる・・・。大した例じゃなくてすみません。
参考にした書籍は以下になります。データストア以外の情報は超便利な気がする。
|
【送料無料】すっきりわかるGoogle App Engine for Javaクラウドプログ |
