Java 用の Mail サービス API では、メール メッセージを送信する JavaMail(javax.mail)インターフェースがサポートされています。
始める前に
送信者のメールアドレスを承認済み送信者として登録します。詳細については、メールを送信できるユーザーをご覧ください。
メールを送信する
メール メッセージを送信するには、App Engine SDK に含まれている JavaMail クラスを使用します。
JavaMail セッションの作成時に SMTP サーバー構成を指定しないと、App Engine は Mail サービスを使用してメッセージを送信します。または、サポートされているサードパーティのメール プロバイダ(Mailgun、Mailjet、SendGrid など)の SMTP 構成を追加します。
メールを送信するには:
- JavaMail - Sessionオブジェクトを使用してメッセージを作成します。
- MimeMessageオブジェクトを作成します。
- InternetAddressクラスを使用して、メッセージの送信者と受信者を設定します。- MimeMessageオブジェクトで- setFrom()メソッドを呼び出し、送信者を指定します。2 番目のパラメータに文字列として個人名を指定することもできます。
- 受信者の種類とアドレスを - addRecipient()メソッドに渡すことで、受信者を識別します。受信者のタイプは- Message.RecipientType.TO、- Message.RecipientType.CC、または- Message.RecipientType.BCCです。
 - メールアドレスが無効な場合、 - InternetAddressコンストラクタが- AddressExceptionを発生させます。
- 返信先のアドレスを設定するには、 - setReplyTo()メソッドを使用します。
- MimeMessageオブジェクトでメソッドを呼び出して、メッセージの内容を作成します。- setSubject()で件名を設定し、- setText()で平文形式のメッセージ本文を設定します。
- メッセージを送信するには、 - Transportクラスの静的メソッド- send()を使用します。
Mail サービスでは、送信するメールに特定のヘッダーを使用できます。詳細については、使用可能なオプション ヘッダーをご覧ください。
以下に、メールを送信するコードサンプルを示します。
Mail サービスの呼び出しは非同期で、すぐに制御を返します。Mail サービスは、受信者のメールサーバーに接続し、メッセージを送信するプロセスを管理します。メッセージの送信で問題が発生した場合や、メールサーバーがバウンス メッセージを返した場合、エラー メッセージが送信者に表示されます。
マルチパート メッセージを送信する
ファイルが添付されたメッセージや、プレーン テキストの本文と HTML メッセージの本文から構成されるメッセージは、マルチパート メッセージとして送信できます。
マルチパート メッセージを送信するには:
- パートを格納する - MimeMultipartオブジェクトを作成して、添付ファイルまたは別のメッセージ本文を格納する- MimeBodyPartオブジェクトを作成し、それをコンテナに追加します。
- MimeMessageのコンテンツにコンテナを割り当てます。
以下に、マルチパート メッセージを送信するコードサンプルを示します。
セキュリティ上の理由から、メッセージ部分と添付ファイルには許可されたタイプを使用してください。また、ファイル名の最後には、そのタイプで認識されている拡張子を付けてください。許可されるタイプとファイル名の拡張子の一覧については、添付ファイルを含むメールをご覧ください。