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のコンテンツにコンテナを割り当てます。
以下に、マルチパート メッセージを送信するコードサンプルを示します。
セキュリティ上の理由から、メッセージ部分と添付ファイルには許可されたタイプを使用してください。また、ファイル名の最後には、そのタイプで認識されている拡張子を付けてください。許可されるタイプとファイル名の拡張子の一覧については、添付ファイルを含むメールをご覧ください。