SendGrid でのメールの送信

SendGrid を使用することで、Google App Engine 上のメール機能を強化できます。SendGrid を使用すると、到達性が向上し、アプリによって送信されたメールが実際にどうなったかについて透明性を提供します。SendGrid インターフェースまたは API を介して、オープン、クリック、登録解除、スパムレポートなどに関する統計情報を確認できます。

料金

Google App Engine をご利用のお客様は、毎月 12,000 通のメールを無料で送信できます。無料メールを利用するには、下記の手順で登録してください。容量増加プランも用意されています。

始める前に

次のことを行う必要があります。

  1. GCP Console で GCP プロジェクトを作成または選択します。プロジェクトに App Engine アプリケーションが含まれていることを確認します。

    App Engine に移動

    プロジェクトに App Engine アプリケーションが存在する場合には、ダッシュボードが開きます。存在しない場合には、App Engine アプリケーションを配置するリージョンを選択するように指示されます。

  2. Google Cloud Platform デベロッパーとして、GCP Console から SendGrid に登録すると、月に 12,000 件の無料メールを利用できます。

  3. Java アプリを App Engine にデプロイするには、まず環境をセットアップする必要があります。詳細については、Java アプリをデプロイするをご覧ください。

    App Engine SDK をダウンロードする

メールを送信する

SendGrid の Java ライブラリを使用して App Engine アプリからメールを送信するのは簡単です。

前提条件の作業が完了したら、使用するローカルマシンでの Java のセットアップができていることを確認します。コードを書き始める前に、Sendgrid.java をアプリの src ディレクトリにコピーしてください。このクラスをインポートすると、単純なコマンドで SendGrid インスタンスを作成してメールを送信できるようになります。

開発する App Engine サーブレットの先頭で、Sendgrid ライブラリをインポートします。

import packageName.Sendgrid

これで、アプリ内から次に示す行を使ってメールを送信できます。

// set credentials
Sendgrid mail = new Sendgrid("<sendgrid_username>","<sendgrid_password>");

// set email data
mail.setTo("foo@bar.com").setFrom("me@bar.com").setSubject("Subject goes here").setText("Hello World!").setHtml("<strong>Hello World!</strong>");

// send your message
mail.send();

独自のアカウント詳細を追加します。メールアドレスや他のメッセージ内容を編集します。

アプリを App Engine にデプロイするときに、Maven(mvn appengine:update)と appcfg コマンドライン ツールのどちらを使用してもかまいません。詳細については、アプリのデプロイをご覧ください。

完成した、動作しているアプリを出発点として開発したい場合は、サンプル Google App Engine アプリを参考にしてください。アプリでのメールに関する詳細については、SendGrid のドキュメントをご覧ください。

リアルタイム情報の取得

メールの送信だけでなく、SendGrid を使用すると、メールの受信や送信済みメールの確認を簡単に行うことができます。2 つのリアルタイム webhook ソリューションにより、アプリケーションでのメール機能を強化できます。

Event API の使用

アプリからメールの送信を開始した後で、状況の確認が必要になる場合があります。この場合、SendGrid の統計情報が非常に役立ちます。Event API を使用すると、すべてのデータを収集し、確認することができます。たとえば、受信者がメールを開いたりクリックしたりすると、SendGrid は非常に小さい JSON をGoogle App Engine アプリに送信します。これにより、イベントに対応するだけでなく、今後のためにデータを保存しておくこともできます。

イベントデータにはさまざまな用途があります。一般的には、メールの統計情報を内部ダッシュボードに統合して使用します。また、この情報を利用して登録の解除を行ったり、スパムレポートに迅速に作成できます。また、Event API を使用して過去数か月以内にクリックまたは開いたユーザーにだけメールを送信し、メールの効率性を向上させることもできます。

Event API ドキュメントには webhook の設定方法が記載されています。また、9 つのイベントタイプや、イベントのコールバックに含まれるフィールドについても解説しています。

Inbound Parse API の使用

メールの受信にも SendGrid を使用できます。Inbound Parse API は、パワフルでインタラクティブなアプリケーションに使用できます。たとえば、顧客がメールで送信したサポート チケットを自動管理したり、従業員が巡回先からディスパッチしたショートメールからデータを収集します。NudgeMail のリマインダー アプリケーションは Parse API に基づいて作成されています。

Event API と同様に、Parse API は新しいものが利用できる場合にデータをアプリケーションに送信する webhook です。この場合、受信メールに関連付けられたドメインに新しいメールが到着すると webhook が呼び出されます。メールに対する DNS の処理は複雑です。このため、Parse API に使用するドメインまたはサブドメインにすべての受信メールを割り当てる必要があります。

異なるフィールドとして送信者、受信者、件名、本文を含む JSON として構成されたアプリケーションにメールが送信されます。SendGrid では、メッセージのサイズが 20 MB までに制限されています。この制限内であれば、添付ファイルを受信できます。

Parse API ドキュメントには、メールと一緒に送信される追加フィールドだけでなく、DNS の設定や使用方法なども記載されています。

* Google は、有償アカウントに登録するユーザーについて、正当な対価を受け取ります。

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

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

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