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