MailgunからSendGridに移行する方法

公開: 2018-11-10

Mailgunが現在の電子メールサービスプロバイダーであり、変更を検討している場合、このハウツーは、2つのサービスの違いを強調することにより、SendGridへの移行に役立ちます。

始める前に確認したい場合は、APIリファレンスと詳細に飛び込む前に、優れたリソースを含むSendGridのドキュメントを確認してください。

用語

特定のMailgun機能に相当するSendGridを探している場合は、次の表が役立ちます。

SendGrid用語メールガン用語
置換/セクション置換データ
カテゴリタグ
unique_args X-Mailgun-変数
複数のクレデンシャルマルチユーザーアクセス
サブユーザーMailgunは個別のサブユーザーを提供しません。
抑制抑制
X-SMTPAPI Mailgunは、X-Mailgun-Recipient-Variablesなどの構成オプションごとに個別のXヘッダーを使用します
インバウンド解析Webhook ルート
イベントWebhook Webhook
マーケティングキャンペーン同等のものはありません

APIキーの取得

まず、SendGridアカウントが必要です。 次に、送信に使用するAPIキーを作成する必要があります。 [設定] ->[ APIキー]に移動するか、このリンクを使用します。 SendGridとセキュリティのベストプラクティスは、アプリごとに異なるAPIキーを使用することです。 APIキーにはきめ細かい権限があるため、個々のエンドポイントの読み取りまたは書き込みアクセスを有効または無効にできます。 作成するAPIキーがメール送信へのフルアクセス権を持っていることを確認してください。 (注:APIキーを作成する前に、アカウントがプロビジョニングに合格する必要があります。)

APIライブラリ

お客様の統合を容易にするために、公式にサポートされているAPIライブラリが多数あります。 コードを書き直したり、移行の一環としてESPとの通信方法をリファクタリングしたりする場合は、これらのライブラリを評価する良い機会です。

  • sendgrid-csharp –公式C#ライブラリ
  • sendgrid-go –公式Goライブラリ
  • sendgrid-java –公式Javaライブラリ
  • sendgrid-nodejs –公式NodeJSライブラリ
  • sendgrid-php –公式PHPライブラリ
  • sendgrid-python –公式Pythonライブラリ
  • sendgrid-ruby –公式Rubyライブラリ

SMTP

SMTP経由で送信する場合は、注意が必要ないくつかの違いがあります。 認証するには、SMTPユーザー名として文字列「apikey」を指定し、パスワードとしてAPIキーを使用します。 次に、ホスト名をsmtp.sendgrid.netにポイントします。

ポート25、2525、および587で暗号化されていないまたはTLSを介してSMTPを使用して接続できます。ポート465でSSLを介して接続することもできます。一般に、ホスティングプロバイダーでの問題が最も少ない傾向があるため、ポート587をお勧めします。

SMTP経由で送信される電子メールをカスタマイズするためのメカニズムは、X-SMTPAPIヘッダーです。 このヘッダーを使用すると、置換を定義したり、バッチメールマージスタイルのリクエストを送信したり、送信に対してアクティブなフィルター(クリックトラッキングなど)を制御したりできます。

HTTP

電子メールを送信するための主なエンドポイントは、メールエンドポイントです。 このエンドポイントへのリクエストは、認証ヘッダーを介して認証され、APIキーがベアラートークンとして提示されます。 より詳細な例は、ドキュメントにあります。

パーソナライズを使用すると、コンテンツをカスタマイズするための置換値や、メッセージをユーザーIDまたは注文番号に関連付けるためのcustom_argsなど、各メッセージの受信者とメタデータを定義できます。 一般的なユースケースのパーソナライズの例は多数あります。 cURLのサンプル呼び出しもあります。

クリックトラッキングなどの機能は、tracking_settingsおよびmail_settingsパラメーターを介して構成されます。 「send_at」パラメータを使用して、最大72時間前に送信をスケジュールすることもできます。

HTTP経由で送信される添付ファイルは、Mailgunとは異なる方法で処理されます。 Mailgunには、添付するファイルを含むmultipart /form-dataPOSTが必要です。 SendGridを使用すると、コンテンツはBase64としてエンコードされ、MIME情報とともにJSONペイロードに直接埋め込まれるため、メッセージ全体が同じペイロードに保持され、HTTPリクエストが簡素化されます。 添付ファイルの追加について詳しくは、ドキュメントクラスルームの次のセクションをご覧ください。

Webhook

SendGridは、リアルタイムイベントを投稿するためのEvent Webhookと、電子メールを受信して​​プログラムで応答するためのInboundParseWebhookの2つのWebhookを提供します。 データの形状とペイロードは、Mailgunが提供するものとは少し異なります。 また、現在、インバウンドメッセージを異なるコールバックURLにルーティングすることもサポートしていません。 この種のロジックは、APIレベルではなく、コードで処理する必要があります。

メール以外のAPIエンドポイント

メールを送信しないAPIエンドポイントについては、APIv3の概要を確認してください。 ほとんどの場合、直感的なHTTPメソッドと応答コードを使用し、通話のレート制限を適用します。 API v2は非推奨ですが、サポートを停止するタイムラインはありません。 すべての新しい統合はv3を優先する必要があります。 API v3認証は、Bearerトークンを使用した認証ヘッダーによって実行されます。

マーケティングキャンペーン

連絡先リストの管理、テンプレートの作成と設計、さまざまなテンプレートのA / Bテスト、キャンペーンのスケジュール設定のためのフル機能のプラットフォームがあります。 これはすべて、開発者以外の人にとって使いやすいUIにラップされています。 もちろん、MarketingCampaignsAPIを介してこれらすべての機能にアクセスすることもできます。

いくつかのFAQ

Q:トランザクションメールのテンプレートをサポートしていますか?

A:はい、そしてそれらは動的です! SendGridのトランザクションテンプレートは、ハンドルバー構文のネイティブサポートを備えています。 基本的な置換と置換に加えて、リストに対して列挙/反復を使用したり、条件などを利用したりできます。 詳細については、ここをクリックしてください。

Q:サンドボックスやメールを送信せずにテストする方法はありますか?

A: HTTP経由で送信する場合は、サンドボックスモードを有効にできます。 テストに使用できる「シンク」アドレスもあります。

Q:IPアドレス/送信者レピュテーションをSendGridに転送することはできますか?

A: IPまたはレピュテーションを移行することはできませんが、新しいIPを自動的にウォームアップすることはできます。

Q:SendGridは強制TLSをサポートしていますか?

A:もちろんです。 受信サーバーがTLSをサポートし、準拠していないサーバーに送信されるメッセージをドロップするように要求できます。

Q:受信者が受信したいメールの種類を定義できるようにすることはできますか?

A:はい。 受信者が電子メールをより細かく制御できるようにすることで、人々が望む電子メールを送信できるようになります。これは、すべての人にとってより良い方法です。 詳細については、登録解除グループを確認してください。

SendGridへの移行に興味がある場合は、sendgrid.com/pricingで詳細を確認できます。