GAE/Java:メールを送信する

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");
        }
    }
}

シンプル過ぎる・・・。大した例じゃなくてすみません。

参考にした書籍は以下になります。データストア以外の情報は超便利な気がする。


タグ GAE for Java, Java, slim3 | パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です