分離 · 検証 API

メール検証 API

メールアドレスを取得した瞬間に検証します。タイプミス、使い捨てメール、高リスクアドレスを、リスト品質と送信者レピュテーションを傷つける前に検出します。

cURL Node SMTP
# routing policy で重要メールを送信
curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Idempotency-Key: otp_8842' \
  -d '{"to":"user@acme.com","template":"password_reset","routing_policy":"transactional-critical"}'
const sendarix = require("sendarix")(process.env.SENDARIX_KEY);

await sendarix.email.send({
  to: "user@acme.com",
  template: "password_reset",
  routingPolicy: "transactional-critical",
  idempotencyKey: "otp_8842"
});
# Drop-in SMTP — 既存統合を維持し control plane を追加
host:     smtp.sendarix.com
port:     587  (STARTTLS)
username: "your_sending_key"
header:   X-Sendarix-Policy: transactional-critical

送信前に検証

すべての hard bounce は、本来検出すべきアドレスから始まります。

悪いアドレスはコストとレピュテーションを失わせます。取得時点での検証により、未配信メールが送信者レピュテーションに触れる前に防げます。

悪いアドレスの一般的な原因: タイプミス(user@examplecon.com)、使い捨てドメイン(mailinator.com)、role account(info@admin@)、bounce や complaint が多い高リスクドメイン。

実行される検証チェック

各アドレスは複数のチェックを通ります。Syntax は高速ですが浅く、MX lookup は未配信アドレスの大部分を検出します。

Syntax 検証

RFC 5321/5322 準拠の形式チェックです。@ の欠落、不正文字、誤った domain label を含む malformed address を拒否します。

MX record lookup

MX DNS records を確認して domain がメールを受信できるか検証します。Syntax では見逃す domain typo を検出する重要なチェックです。

Disposable email detection

既知の使い捨て provider のリアルタイム database を確認します。これらはすぐ bounce し、spam trap を示し、ビジネス価値がありません。

Role account detection

個人ではなくグループに属し、engagement が低い role-based address(info@admin@support@)を識別します。

Deliverability score

各アドレスは履歴データ、domain reputation、リスク要因から 0-100 の score を受け取ります。signup で最低閾値を適用できます。

Suggestion engine

タイプミスを検出すると、API は修正案を返します: user@gmial.com -> user@gmail.com。一般的な domain typo を自動検出します。

API request と response

単一アドレスを検証

GET /v1/validate?address=user@example.com
Authorization: Bearer sk_live_...

配信可能 response

{
  "address": "user@example.com",
  "result": "deliverable",
  "score": 92,
  "checks": {
    "syntax": "pass",
    "mx": "pass",
    "disposable": "pass",
    "role_account": "pass"
  },
  "suggestion": null,
  "risk_factors": []
}

高リスク response

{
  "address": "user@mailinator.com",
  "result": "undeliverable",
  "score": 0,
  "checks": {
    "syntax": "pass",
    "mx": "pass",
    "disposable": "fail",
    "role_account": "pass"
  },
  "suggestion": null,
  "risk_factors": ["disposable_email_domain"]
}

アプリ内で検証すべき場所

Signup と登録フォーム

Blur または submit 時に検証し、タイプミスには inline correction を表示します。新規ユーザー獲得フローの bounce rate を 15-30% 削減できます。

Checkout とアカウント作成

取引完了前に検証します。確認メールが届かなければ、問題発生時に顧客が購入記録を持てません。

Import と bulk upload

リストへ追加する前に全アドレスを検証します。大規模 import の結果は webhook で非同期返却され、確認済みの deliverable address だけ追加します。

Onboarding での email capture

Onboarding wizard で email を取得する場合はそこで検証します。ユーザーが修正する意欲を持っている間に問題を検出できます。

検証閾値

すべての失敗でユーザーをブロックする必要はありません。リスク許容度に合わせて閾値を設定します。

許可

Score 80+。すべての重要チェックに合格。送信して安全です。

確認

Score 50-79。ユーザーへ修正を提案し、再検証対象としてマークします。

ブロック

Score 50 未満。使い捨て domain、明確な提案のない typo、または MX failure。

数分で email validation を統合

Python、Node.js、Ruby、Go の SDK を備えた REST API。リアルタイム form integration のため、検証結果は 100ms 未満で返ります。