Mail API の概要

App Engine アプリケーションは、アプリのメール受信アドレスや、Google アカウントを持つユーザーに代わってメール メッセージを送信できます。アプリはさまざまなアドレスでメールを受信できます。アプリはメールサービスを使用してメッセージを送信し、App Engine から発信され、アプリにポストされる HTTP リクエストの形式でメッセージを受信します。

メールの送信

メールサービスは 1 人以上の受信者にメール メッセージを送信できます。メッセージには件名、プレーンテキスト形式の本文、HTML 形式の本文(オプション)が含まれます。また、添付ファイルや一部のヘッダーを含めることもできます。

受信者の任意のメールアドレスを使用できます。受信者は、メッセージの「to」フィールドや「cc」フィールドで指定することも、メッセージの受信者から隠すこと(「ブラインド カーボンコピー」つまり「bcc」)もできます。

アプリケーションがメールサービスを呼び出してメッセージを送信すると、そのメッセージはキューに追加され、呼び出しは直ちに戻ります。メールサービスは標準的な手順を使用して、各受信者のメールサーバーへの接続、メッセージの配信、メールサーバーに接続できなかった場合の再試行を実施します。

メールを送信できるユーザー

セキュリティ上の理由から、メッセージの送信者アドレスは次のいずれかにする必要があります。

  • 現在ログインしているユーザーの Gmail または G Suite アカウント
  • anything@[MY_PROJECT_ID].appspotmail.com または anything@[MY_PROJECT_NUMBER].appspotmail.com の形式のメールアドレス
  • GCP Console の Email API の承認済み送信者に一覧表示されているメールアドレス

Email API の承認済み送信者リストに含まれているすべてのメールアドレスは、Gmail または Google がホストしているドメインの有効なアカウントである必要があります。アプリ管理者は承認済み送信者のリストに次のアカウントを追加できます。

  • アプリ管理者自身のメールアドレス
  • アプリ管理者がオーナーまたはマネージャーであるグループ
  • G Suite ドメイン noreply@[DOMAIN].com でホストされているアプリケーション。ただし、noreply@[DOMAIN].com が有効なアカウント(ユーザーまたはグループ)である場合のみ。

さらに、G Suite によって管理されているドメインのドメイン管理者は、そのドメインの任意のユーザーを承認済み送信者のリストに追加できます。

承認済み送信者の数は最大 50 人に制限されています。

G Suite からのメール

G Suite によって管理されているドメインからメールを送信する場合、Google が信頼できるメール送信元であることを示すために、ドメインの DNS SPF レコードを設定する必要があります。この設定手順については、G Suite ヘルプ記事の SPF レコードをご覧ください。

G Suite ドメイン用に設定されたエイリアスを使用すると、ドメイン エイリアスを使用するメールアドレスからメールを送信できないことに注意してください。

メールが配信されなかった場合のバウンス通知

スパム、ウィルス、またはその他の悪意のあるコンテンツの既知の特徴と一致するメールは、配信を受け付けられない場合があります。

メールサービスがメッセージを配信できない場合、または受信者のメールサーバーがバウンス メッセージを返す場合(たとえば、システム上にそのアドレスのアカウントが存在しないため)、メッセージの送信者のアドレスにエラー メッセージをメールで送信できます。アプリケーション自体がメール配信の成功または失敗に関する通知を受信することはありません。

デフォルトで、メールバウンス通知は有効になりません。メールバウンス通知を受信するには、アプリケーションを構成する必要があります。詳細については、バウンス通知の受信をご覧ください。

メールと開発用サーバー

開発用サーバーで実行されているアプリケーションがメールサービスを呼び出してメール メッセージを送信すると、そのメッセージはアプリケーション ログに出力されます。開発用サーバーがメール メッセージを送信することはありません。

DomainKeys Identified Mail(DKIM)を使用した認証

メールを送信するとき、App Engine は DomainKeys Identified Mail(DKIM)規格を使用してドメインを認証します。アプリケーションが G Suite ドメインの一部であるメールアドレスからメッセージを送信する場合、App Engine は送信するメールに対して暗号による署名を行うことができます。この署名は、emma@example.com から送信されたと主張しているメールが実際に example.com から送信されたことを示します。受信者は、この署名をチェックして、署名が正しければ、送信者のドメインがなりすましされていないと認識します。

G Suite のメールアドレスから送信されるメッセージの DKIM 認証を有効にするには、G Suite ヘルプセンターのこちらの手順を実行します。ご利用の G Suite ドメインで DKIM 認証が有効になるまでに、最長で 48 時間かかる可能性があるので注意してください。

アプリケーションがカスタム ドメインを使用していることと、G Suite ドメインと同じであることも確認する必要があります。また、subdomain.example.com などのサブドメインを持つ G Suite ドメインは許可されないことにも注意してください。

送信者アドレスが DKIM が有効化された G Suite ドメインの一部である場合、App Engine はアプリケーションの送信メールに署名します。さらに、メールアドレスのドメイン部分が小文字のみで構成されるように、送信者アドレスの形式を合わせる必要があります。

割り当てと制限

アプリケーションの現在の割り当て使用量を確認するには、Google Cloud Platform Console の割り当ての詳細ページに移動します。

割り当ての詳細ページに移動

各メールサービス リクエストは、Mail API の呼び出しの割り当てにカウントされます。送信できるメッセージの数、送信できる管理者メッセージの数、送信できるデータと添付ファイルの量に関しても、割り当てがあります。詳細については、メール割り当てをご覧ください。

この割り当ては毎日リセットされます。1 日の割り当てを超過した場合は、割り当て超過の例外が発生します。割り当ての許容量を超えるメールを送信する必要がある場合は、サードパーティのメール プロバイダ(SendGridMailgun など)を利用できます。

割り当てに加えて、メールサービスには次の制限も適用されます。

制限
送信するメール メッセージの最大サイズ(添付ファイルを含む) 31.5 MB
受信するメール メッセージの最大サイズ(添付ファイルを含む) 31.5 MB
管理者が受信者である場合のメッセージの最大サイズ 16 KB
承認済み送信者の最大数 50 件

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java 8 の App Engine スタンダード環境