MailchimpTransactionalAPIからSendGridに移行する方法

公開: 2016-02-26

2016年、Mandrill(現在はMailchimp Transactional APIとして知られています)は、Mailchimp専用のアドオンサービスになりました。 これは、Mailchimpの月次メンバーだけがMandrillの電子メールトランザクション機能にアクセスできることを意味しました。 他のユーザーの場合、別のプラットフォームを選択するか、常に必要とは限らないMailchimpアカウントの料金を支払うことを選択する必要がありました。

そのとき、多くのお客様が効率的にメールを送信できる代替プロバイダーを探すことを理解しました。 Twilio SendGridは、そのプロセスを可能な限りスムーズにするための支援を望んでいました。

MailchimpTransactionalAPIからSendGridへの移行

厳密にはアドオンであるため、Mailchimp Transactional APIは、ビジネスに必要な規模で確実にメールを配信するように設定されていません。 しかし、ここTwilio SendGridは、信頼できる安全なメール配信のリーダーであり、Uber、Airbnb、Spotifyなどの主要な送信者向けに月に1,000億通以上のメールを処理しています。

このチュートリアルでは、TwilioSendGridを使用して電子メールを送信するときに期待できる主な利点について説明します。 ステップバイステップの移行ガイドにより、スムーズで合理化された移行が保証されます。

Twilio SendGrid Documentationは、SMTP、API、および電子メール関連のすべての問い合わせに対する回答を探している人に最適なリソースです。 これは、メールの移動とAPI呼び出しの詳細について詳しく説明する前に開始するのに最適な場所です。

ただし、最初に、特定のMailchimp TransactionalAPI機能に相当するTwilioSendGridを探している場合は、次の表が役立ちます。

SendGrid用語MailchimpトランザクションAPI用語
置換merge_vars
カテゴリタグ
カスタム引数メタデータ
サブユーザーサブアカウント
抑制拒絶
X-SMTPAPI X-MC- *
動的テンプレートテンプレート

APIキーの取得

開始するには、TwilioSendGridアカウントが必要です。 次に、送信に使用するAPIキーを作成します。 アカウントにログインしている場合は、[設定]→[APIキー]に移動するか、このリンクを使用します。 さまざまなアプリごとに異なるAPIキーを使用することは賢明なセキュリティ慣行です。 個々のエンドポイントの読み取りまたは書き込みアクセスを有効または無効にすることで、APIキーの権限を定義することもできます。 今のところ、必要なのはメール送信へのフルアクセス権を持つものだけです。 (注: APIキーを作成する前に、プロビジョニングに合格する必要があります。)

APIライブラリ

メール送信プロセスをさらに最適化する、公式にサポートされているAPIライブラリが多数あります。 移行の一環としてコードを書き直したり、電子メールサービスプロバイダー(ESP)との通信方法をリファクタリングしたりする場合は、これらのライブラリの1つを利用して統合をスピードアップする良い機会です。

  • sendgrid-csharp –公式C#ライブラリ
  • sendgrid-go –公式Goライブラリ
  • sendgrid-java –公式Javaライブラリ
  • sendgrid-nodejs –公式Node.jsライブラリ
  • sendgrid-perl –公式Perlライブラリ
  • sendgrid-php –公式PHPライブラリ
  • sendgrid-python –公式Pythonライブラリ
  • sendgrid-ruby –公式Rubyライブラリ
  • ti.sendgrid –公式のチタンラッパー

SMTP

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

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

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

HTTP

電子メールを送信するための主なエンドポイントは、 mail.sendエンドポイントです。 ベアラートークンとして提示されたAPIキーを使用して、認証ヘッダーを介してこのエンドポイントへのリクエストを認証できます。 ドキュメントでより詳細な例を見つけてください。

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

クリックトラッキングなどの機能は、 tracking_settingsおよびmail_settingsパラメーターを介して構成できます

HTTP経由で送信される添付ファイルの場合、Mailchimp Transactional APIと同様の方法で処理します。この場合、コンテンツはBase64としてエンコードされ、多目的インターネットメール拡張機能やMIME情報とともにJSONペイロードに直接埋め込まれます

TwilioSendGridのmail.sendエンドポイントは完全に非同期であることに注意してください。 リクエストは、整形式である限り受け入れ、できるだけ早くメール配信の処理を試みます。 Mailchimp Transactional APIを使用すると、10通未満のメールのリクエストを同期的に実行できます。 ただし、TwilioSendGridは同期モードを提供していません。

「send_at」パラメータを使用して、最大72時間前に送信をスケジュールすることもできます。

Webhook

Twilio SendGridは、リアルタイムイベントを投稿するためEvent Webhookと、電子メールを受信して​​プログラムで応答するためInbound EmailParseWebhookの2つのWebhookを提供します。 データの形状とペイロードは、Mailchimp Transactional APIが提供するものとは少し異なります。TwilioSendGridには、「同期」Webhookに相当するものがありません。

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

メールを送信しないAPIエンドポイントについては、 APIv3の概要を確認してください ほとんどの場合、直感的なHTTPメソッドと応答コードを使用し、通話のレート制限を適用します。 サポートを停止するタイムラインはありませんが、APIv2は引き続き最小限で利用できます。 ただし、すべての新しい統合はv3に傾くはずです。 API v3認証には、Bearerトークンを使用した認証ヘッダーを介してアクセスできます

TwilioSendGridへの移行に関するよくある質問

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

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

Q:メールを送信せずにテストすることはできますか?

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

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

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

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

A:もちろんです。 当社の受信サーバーはTLSをサポートし、準拠していない送信メッセージをドロップします。

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

A:はい! 受信者をより細かく制御できるようにすることで、本当に受信者を望んでいるサブスクライバーに電子メールを送信できるようになります。これは、長期的にはすべての人にとってより良い方法です。 詳細については、購読解除グループ確認してください。

Q:リクエストごとに複数の受信者にメールを送信できますか?

A:はい。 パーソナライズを使用するAPIv3のお客様は、リクエストごとに最大1,000人の受信者を含めることができます。 SMTPユーザーには、メッセージごとに最大10,000人の受信者を含めることができますが、多くの場合、要求ごとに1,000人の受信者を含めることをお勧めします。

MailchimpTransactionalAPIからTwilioSendGridへの切り替えの詳細