Dynメール配信からSendGridに移行する方法

公開: 2016-11-23

DynがDNS管理ビジネスのためにOracleに買収されているという最近のニュースにより、人々は完全に電子メールに焦点を合わせたソリューションを探しています。 私たちのチームでは、Dynメール配信からSendGridに移行する方法についての質問が増えているため、このガイドをまとめることにしました。

始める前に確認したい場合は、SendGridのドキュメントを確認してください。 Classroomは、APIリファレンスと詳細に飛び込む前にメールについて学び始めるのに最適な場所です。

私たちは創業以来APIファーストのメールのみの会社であり、それが私たちの製品に反映されていることがわかります。 HTTPメールエンドポイント、Webhook、SMTP、および非メールAPIは、ビジネスの中核であり、それらの機能に反映されていることがわかります。 このガイドは、現在のプロバイダーに欠けている便利な機能を強調しながら、SendGridでセットアップする方法の基本を説明することを目的としています。

APIキーの取得

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

APIライブラリ

DynはPythonとPHPで公式のSDKを提供していますが、お客様が統合を容易にするために、7つの公式にサポートされている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経由で送信する場合は、注意が必要ないくつかの違いがあります。 まず、Dynが要求するように、メッセージサイズに基づいて特定のSMTPサーバーを使用することを心配する必要はありません。 Dynの制限である10MBに対して、最大19.5MBのメッセージも受け入れます。 認証するには、SMTPユーザー名として文字列「apikey」を指定し、パスワードとしてAPIキーを使用します。 次に、ホスト名をsmtp.sendgrid.netにポイントします。

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

SMTP経由で送信される電子メールをカスタマイズするためのメカニズムは、X-SMTPAPIヘッダーです。 このヘッダーを使用すると、キー/値の置換を定義したり、バッチメールマージスタイルのリクエストを送信したり、送信に対してアクティブなフィルター(クリックトラッキングなど)を制御したりできます。 メールをカテゴリ別にグループ化するか、unique_argsを使用してメールごとにメタデータを追跡できます。 これらは、送信時間と電子メールトランザクションに必要な帯域幅の量を削減できる強力な機能であり、検討する価値があります。

HTTP

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

DynのHTTPAPIと比較して、エンドポイントは、受信者をカスタマイズおよび管理し、1回のリクエストで複数の異なるメッセージを送信できるようにするためのより多くの機能を提供します。

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

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

また、APIリクエストに添付ファイルを簡単に追加できるようにします。 ファイルをBase64文字列としてエンコードし、MIMEコンテンツ情報と一緒にJSONペイロードに直接埋め込みます。 添付ファイルの追加について詳しくは、ドキュメントクラスルームの次のセクションをご覧ください。

Webhook

SendGridは、2つのWebhookを提供します。購読解除やバウンスなどのリアルタイムの電子メールイベントを投稿するためのイベントWebhookと、電子メールを受信して​​プログラムで応答するためのInboundParseWebhookです。

これらの機能はDynでは使用できませんが、電子メール管理に自動化を追加するのに最適です。 セットアップを開始するときに、一見の価値があります。

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

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

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

私たちが提供するもう1つの機能は、堅牢なマーケティングキャンペーンプラットフォームです。これにより、リストの管理、動的セグメントの作成、アセットのアップロード、ビジュアルエディターを使用したメールテンプレートのデザイン、自動A/Bテストの実行などが可能になります。 そしてもちろん、これらすべての機能の背後にもオープンAPIがあります。

いくつかのFAQ

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

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

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

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

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

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

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

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

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

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

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