Google App Engine で単純なメールを送信する
各種通知メッセージ等を能動的にユーザーに送信するには、なんといってもメール通知は非常に有効です。 したがって、アプリケーションからメールが送信できるということはアプリケーションを構築する環境としては重要なポイントです。 Google App Engine もインスタントメッセージの他、電子メールの送受信もサポートしています。
Google App Engine では JavaMail API を利用してメールを送信可能です。 JavaMail に関する完全な情報は Sun (Oracle) のサイトを見ていただくことにして、この資料では動くサンプルを提供します。
Google App Engine からメールを送信するための単純なコードは次のとおりです。
import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; //... Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); String messageBody = "Hello!"; try{ Message message = new MimeMessage(session); message.setFrom(new InternetAddress("from.address@example.com", "Foo bar")); message.setRecipient(Message.RecipientType.TO, new InternetAddress("to.address@example.com")); message.setSubject("This is a test."); message.setText(messageBody); Transport.send(message); } catch(AddressException e){ } catch(MessagingException e){ }
この例では、メッセージの件名 = "This is a test."、本文 = "Hello!"、送り元メールアドレス = "from.address@example.com"、送り先メールアドレス = "to.address@example.com" としています。 それぞれあなたの環境に合わせて変更してください。
ちなみに、送信できない時の主な理由としては、送り元メールアドレスが不正であることがあげられます。 メールを送信する条件に合う送り元メールアドレスを指定してください。
アタッチメント(添付ファイル)付きのメールや、HTML 形式のメールメッセージも送信可能ですが、 ここでは単純なテキスト形式のメールを送信しています。
メールの送信元が正しければ特に問題なく(特別な設定なしで)、これだけでメールは送信可能です。
尚、Google App Engine の開発サーバーでは実際にはメールは送信されず、 ログとして記録されるだけです。