Mailjet でのメール送信

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

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

始める前に

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

  1. Mailjet アカウントを作成します。App Engine デベロッパーは、1 か月あたり 25,000 件の無料メールから始めることができます。

  2. Mailjet で、送信者のメールアドレスを追加して確認します。

  3. Mailjet SMTP 設定から API キーとシークレットをメモします。

  4. Google Cloud Platform Console で GCP プロジェクトを選択するか、新しい GCP プロジェクトを作成し、次に App Engine アプリケーションが存在していることと課金が有効であることを確認します。

    App Engine に移動

    プロジェクトに App Engine アプリケーションがすでに存在し、課金が有効な場合、ダッシュボードが開きます。そうでない場合は、プロンプトに従ってリージョンを選択し、課金を有効にします。

  5. MailJet API のキーとシークレットを環境変数として app.yaml ファイルに追加します。

    1. Mailjet パッケージをアプリのフォルダに追加します。

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

      env_variables:
        MJ_FROM_EMAIL: your-mailjet-sender-address
        MJ_APIKEY_PUBLIC: your-mailjet-api-key
        MJ_APIKEY_PRIVATE: your-mailjet-secret-key

    3. アプリケーション コードでライブラリをインポートします。

      import "github.com/mailjet/mailjet-apiv3-go"
      

    メールの送信

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

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

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

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

    例:

    func sendEmail(w http.ResponseWriter, r *http.Request) {
    	to := r.FormValue("to")
    	if to == "" {
    		http.Error(w, "Missing 'to' parameter.", http.StatusBadRequest)
    		return
    	}
    
    	messagesInfo := []mailjet.InfoMessagesV31{
    		{
    			From: &mailjet.RecipientV31{
    				Email: fromEmail,
    				Name:  "Mailjet Pilot",
    			},
    			To: &mailjet.RecipientsV31{
    				mailjet.RecipientV31{
    					Email: to,
    					Name:  "passenger 1",
    				},
    			},
    			Subject:  "Your email flight plan!",
    			TextPart: "Dear passenger, welcome to Mailjet! May the delivery force be with you!",
    			HTMLPart: "<h3>Dear passenger, welcome to Mailjet!</h3><br />May the delivery force be with you!",
    		},
    	}
    
    	messages := mailjet.MessagesV31{Info: messagesInfo}
    	resp, err := mailjetClient.SendMailV31(&messages)
    	if err != nil {
    		msg := fmt.Sprintf("Could not send mail: %v", err)
    		http.Error(w, msg, 500)
    		return
    	}
    
    	fmt.Fprintf(w, "%d email(s) sent!", len(resp.ResultsV31))
    }

    統計情報

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

    /message に対する GET 操作を使用して、送信者、受信者、およびメッセージ サイズなどのメッセージに関する基本情報を取得します。サンプル API レスポンスを含むメッセージ統計情報の詳細については、Mailjet API ガイドをご覧ください。

    Event API

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

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

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

    受信メールの Parse API

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

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

    各メールで送信される追加のフィールドなどの詳細と、DNS の設定や使用方法については、Mailjet の Parse API のドキュメントをご覧ください。

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

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

Go の App Engine フレキシブル環境