4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SendGrid を最速で試す

Posted at

はじめに

完全に個人的なメモです!が、案外サクッと確認できなかったので、パブリックに残しておこうという思います。

SendGrid とは?

SendGridは全世界で利用されているメール配信サービスです。
クラウドサービスのため、アカウントを作成するだけでメールを送信でき、
面倒でコストのかかるメールサーバの構築やメンテナンスは不要です。
メルマガの一斉送信もシステム経由の自動通知メールも、SendGridにお任せください!

手軽にメール機能が使える、つまり自前で専用のメールサーバーを管理しなくて良いのがメリットです。

SendGrid を試す

1. 登録

まずは、アカウントを作りましょう。

2. API Key の作成

ダッシュボードからアクセスするためのキーを作ります。

キー名と権限を設定します。試すだけなので一旦は「Full Access」で良いでしょう。

作成されたキーを保存しておきましょう。

作成したキーはボード一覧から確認できます。

3. Sender 登録

以下は公式の回答より

Domain AuthenticationまたはSingle Sender Verificationが設定されていない場合、2024年4月1日以降はメール送信ができなくなります。

上記をダッシュボードから登録しないと、実装してもエラーが発生します。以下は実際のエラー内容です。

.json
{
  "errors": [
    {
      "message": "The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements",
      "field": "from",
      "help": null
    }
  ]
}

ダッシュボードから登録しましょう。今回は「Single Sender Verification」で進めます。

必要事項を入力してください。

特にメールアドレスに関しては実際に API で使用するものを入力してください。ここで登録したメールアドレスのみエラーが出ないようになります。

入力したアドレスに認証のメールが来るので、承認して登録は完了です。

スクリーンショット 2024-06-28 11.27.27.png

4. メール送信 API を使う

公式にいくつかのコード例があります。

ターミナルから curl コマンドで試すのが早いでしょう。

.bash
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "personalizations": [
      {
        "to": [
          {
            "email": "YOUR_ADDRESS"
          }
        ]
      }
    ],
    "from": {
      "email": "YOUR_ADDRESS"
    },
    "subject": "Test Email",
    "content": [
      {
        "type": "text/plain",
        "value": "This is a test email."
      }
    ]
  }' \
  https://api.sendgrid.com/v3/mail/send

必要な部分は各自で置き換えてください。上記でも記載しましたが fromの部分は登録したアドレスでないとエラーになります。

コマンドを実行するとメールが届きます。

また、ダッシュボードではリクエスト履歴を見ることができます。

※ メールが届かない場合

これはいくつかネットでも同じような情報が見られたのですが、SendGrid はフリープランでは問題があります。

Pro版以外のSendGridは、他企業と共同利用のドメインに割り振られます。そのため、他の利用者が送信レピュテーションを下げる(スパム評価を上げる)と同一ドメインで送信してる全ての共同利用者のメールが送信出来なくなります。
これの問題は、送信している側は正常に送信できたと認識するため、問題に気づきにくい状況になります。

実際、何回かリクエストしてリアルタイムにきたのは1回だけでした。
(いくつかはメールフィルターに入ってしまった)

終わりに

フリープランで送れる件数が多いので魅力的だと思っていましたが、届かないという思わぬ罠がありました。

実際のサービスで使う場合は Pro で使うか、設定周りをもう少し何かした方が良さそうでした。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?