サードパーティのサービスを使用してメッセージを送信する

App Engine 上の Python アプリケーションでは、サードパーティ企業のサービスを利用して、メールや SMS メッセージの送信、電話の発着信を行えます。たとえば、ビジネス トランザクションやユーザー アカウントの作成を確認するためのメールの送信や、マーケティング関連のメール配信を行うことができます。

このページでは、App Engine 上の Python アプリケーションで使用できる通信サービスとクライアント ライブラリを提供している企業の例を紹介します。

Mailgun

Mailgun は、メール送信用の RESTful API とクライアント ライブラリの両方を提供しています。GCP プロジェクトのユーザーは、毎月 30,000 件のメッセージまで無料で使用できます。追加のメッセージに対する料金設定やボリューム ディスカウントについては、お申し込みページの月額料金計算ツールでご確認ください。

Mailgun の詳細については次をご覧ください。

Mailjet

Mailjet は、毎月 25,000 件のメールの無料枠を App Engine ユーザーに提供するグローバル メールサービスです。この特典を利用するには、次のリンクをクリックして Mailjet アカウントを作成してください。

Mailjet の詳細については次をご覧ください。

SendGrid

SendGrid は App Engine のメール機能を強化します。SendGrid を使用すると、メールの到達率が向上し、アプリケーションから送信されたメールの状況をより明確に把握できます。SendGrid のインターフェースまたは API を介して、開封数、クリック数、登録解除、スパムレポートなどに関する統計情報を確認できます。

App Engine のお客様は、Google Cloud Platform Console を通じて SendGrid Email API プランに登録すると、毎月 12,000 件のメールを無料で送信できます。お客様が有料パッケージを申し込むと Google に報酬が支払われます。

SendGrid の詳細については次をご覧ください。

Twilio を介した SMS サービスと音声サービス

Twilio を使用すると、音声、VoIP、メッセージをアプリケーションに埋め込むことができます。Twilio プラットフォームは、Twilio マークアップ言語(TwiML)RESTful API、VoIP SDK(ウェブブラウザ、Android、iOS 用)で構成されています。

Google App Engine のお客様は、アップグレードすると、SMS メッセージや着信に使用できる無料クレジットが付与されます。

Twilio の詳細については次をご覧ください。

クライアント ライブラリとサードパーティ API キーをアプリに追加する

ライブラリの名前をアプリの requirements.txt ファイルに追加すると、クライアント ライブラリを App Engine の開発環境やデプロイ環境で使用できます。詳しくは、依存関係を指定する方法をご覧ください。

ほとんどのサードパーティ サービスでは API キーを使用してアプリの認証を行います。キーは、サードパーティのサイトで生成します。これらのキーをアプリケーションで使用するには、次の手順を行うことをおすすめします。

  1. アプリケーションの app.yaml ファイル内の環境変数セクションにキーを追加します。

    次に例を示します。

     env_variables:
         EMAIL_API_KEY: key-from-third-party
    
  2. アプリのコードで、環境変数からキーを取得します。次に例を示します。

     EMAIL_API_KEY = os.environ['EMAIL_API_KEY']
    
  3. サードパーティの API の要求に応じてキーを渡します。

app.yaml にアクセスできるすべてのユーザーは、API キーにもアクセスできることに注意してください。安全な場所に app.yaml を保存できない場合は、Cloud Datastore などの安全な場所に API キーを保存して実行時にキーを取得するか、コード内にキーを保持しつつ Cloud Key Management Service などのキーストアを使用してキーを暗号化することをおすすめします。各アプローチの利点については、シークレット管理ソリューションの選択をご覧ください。