Mailjet でのメールの送信

Mailjet は、毎月 25,000 件のメールを App Engine ユーザーに無料枠で提供するサードパーティのグローバル メールサービスです。また、Mailjet は以下も提供しています。

  • 取引メールやマーケティング メールを送信するための API、ユーザー インターフェース、SMTP リレー
  • 欧州のデータ プライバシー コンプライアンス
  • カスタマイズ可能な優先度の設定や自動スロットル管理など、メールと到達性に関する機能
  • サブアカウント、認証、連絡先、キャンペーン、カスタム ペイロード、統計、リアルタイムのイベント、Event API を介した解析を管理するための Go、PHP、Nodejs、Java、Python、Ruby の API リソース ライブラリ
  • 応答性の高い HTML メール テンプレートを作成するための統合 MJML フレームワーク
  • 4 種類以上の言語による 24 時間 365 日のフォローザサン サポート
  • gmail.com 以外のドメインからメールを送信する機能

始める前に

Mailjet でメールを送信する前に:

  1. Mailjet アカウントを作成します。Google App Engine デベロッパーは、1 か月あたり 25,000 件の無料メールから始めることができます。
  2. Mailjet で、送信者のメールアドレスを追加して確認します。
  3. Mailjet SMTP 設定から API キーとシークレットをメモします。
  4. GCP プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

設定

Mailjet API 用の Python ラッパーを使用して、アプリケーションからメールを送信します。

  1. Mailjet ライブラリをインストールします。たとえば、以下の内容を requirements.txt ファイルに追加することができます。

    Flask==0.12.2
    requests==2.18.4
    requests-toolbelt==0.8.0
    mailjet-rest==1.3.0
    

    サポートされているライブラリのインストールの詳細については、組み込みライブラリの使用をご覧ください。

  2. app.yaml ファイルで API キー、シークレット、送信者のメールアドレスなどの Mailjet 設定を構成します。

    env_variables:
        MAILJET_API_KEY: your-mailjet-api-key
        MAILJET_API_SECRET: your-mailjet-api-secret
        MAILJET_SENDER: your-mailjet-sender-address

  3. アプリケーション コードで、Mailjet Python ライブラリを import し、キーを追加します。

    import mailjet_rest
    import requests_toolbelt.adapters.appengine
    
    # Use the App Engine requests adapter to allow the requests library to be
    # used on App Engine.
    requests_toolbelt.adapters.appengine.monkeypatch()
    
    MAILJET_API_KEY = os.environ['MAILJET_API_KEY']
    MAILJET_API_SECRET = os.environ['MAILJET_API_SECRET']
    MAILJET_SENDER = os.environ['MAILJET_SENDER']

メールの送信

アプリケーション コードでメッセージを送信するには:

  1. 新しい Mailjet クライアントを作成します。

  2. 送信者のメールアドレスと名前、件名、メッセージ本文、受信者など、メッセージの詳細と内容を指定します。

  3. サーバーのレスポンスを取得し、メッセージのステータスを確認します。

次に例を示します。

def send_message(to):
    client = mailjet_rest.Client(
        auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')

    data = {
        'Messages': [{
            "From": {
                "Email": MAILJET_SENDER,
                "Name": 'App Engine Standard Mailjet Sample'
            },
            "To": [{
                "Email": to
            }],
            "Subject": 'Example email.',
            "TextPart": 'This is an example email.',
            "HTMLPart": 'This is an <i>example</i> email.'
        }]
    }

    result = client.send.create(data=data)

    return result.json()

統計情報

Mailjet Send API 呼び出しのレスポンス ペイロードには MessageID が含まれています。MessageID を使用して、メッセージに関する情報と統計情報にアクセスできます。

/message に対する Mailjet API の GET 操作では、送信者、受信者、メッセージ サイズなどのメッセージに関する基本情報が返されます。さらに、正常に送信されたかどうかなどのメッセージの現在の状態も返されます。サンプル API レスポンスを含むメッセージ統計情報の詳細については、Mailjet API ガイドを参照してください。

Event API

Mailjet Event API は、メッセージの送信時刻や開封時刻など、送信されたメッセージに関連したイベントについてのリアルタイム通知を、HTTP リクエスト(webhooks)を使って行います。このイベント通知は、取引キャンペーンからマーケティング キャンペーンに至るまであらゆる種類のメッセージにおいて機能します。

Event API を使用すると、顧客に送信されたマーケティング メッセージのロギングや顧客関係管理(CRM)システムで登録解除された連絡先の更新などの特定のアクションを効率的に実行できます。イベントの発生時にほぼリアルタイムでデータがプッシュされるので、1 日に何回か Mailjet API をポーリングする必要がなくなります。

イベントをグループ化することもできます。これは、送信量が多い場合に役立ちます。詳細な手順については、Mailjet のドキュメントをご覧ください。

受信メールの Parse API

さらに Mailjet では、メールを受信して解析し、webhook に内容を配信することができます。Mailjet ですべての情報を整理できるため、それを CRM やデータベースに保存できます。

Event API と同様に Parse API は、定義された webhook にほぼリアルタイムで通知します。webhook は、新しいメッセージが事前定義されたルートと一致すると、データをアプリケーションに返送します。送信者、受信者、件名、本文、ヘッダーなどの必要なすべての有益な情報を含んだ JSON パケット構造のメールがアプリケーションに送信されます。

各メールで送信される追加のフィールドなどの詳細と、DNS セットアップと使用のに手順については、Mailjet の Parse API のドキュメントをご覧ください。

Google Compute Engine からのメールの送信

プロジェクトで Compute Engine を使用して、メールを送信する必要があるバックエンド タスクを実行する場合、Compute Engine の Mailjet を使用することもできます。

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

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

Python の App Engine スタンダード環境