BillionVerify: SendGrid 郵件驗證

Leo
LeoFounder, BillionVerify

將 BillionVerify 與 SendGrid 整合,在發送前驗證信箱地址。保護寄件者信譽、降低退信率,並以 99.9% 準確率提升送達率。

Cover Image for BillionVerify: SendGrid 郵件驗證

什麼是 SendGrid?

SendGrid 是領先的雲端信件傳送平台,受到全球超過 80,000 家公司信賴,包括 Uber、Spotify 和 Airbnb。成立於 2009 年,現為 Twilio 旗下公司,SendGrid 專精於交易型和行銷信件傳送,擁有業界領先的基礎設施。

核心功能:

  • 交易型信件:傳送密碼重設、訂單確認、通知和帳戶更新,確保可靠送達
  • 行銷活動:使用拖放編輯器和 A/B 測試建立並發送促銷信件
  • 信件 API:業界標準 REST API 和 SMTP 中繼,實現無縫整合
  • 送達率最佳化:進階分析、專用 IP 位址和信譽監控
  • 範本管理:動態信件範本,支援個人化和條件邏輯
  • Webhook 整合:即時事件通知,追蹤退信、開信、點擊和取消訂閱

為什麼開發者和企業選擇 SendGrid:

  • 99.99% 正常運行 SLA - 關鍵任務信件可靠性
  • 全球基礎設施 - 從最接近收件者的資料中心傳送信件
  • 開發者友善 API - 完善的 REST API 文件,支援 7 種以上語言的 SDK
  • 專業送達率團隊 - 專職專家協助最大化收件匣送達率
  • 全面分析 - 即時追蹤送達率指標、互動和寄件者信譽
  • 靈活定價 - 提供免費方案,按使用量付費模式

熱門使用情境:

  • SaaS 應用程式:用戶引導信件、功能公告、訂閱續約
  • 電子商務:訂單確認、出貨通知、購物車遺棄挽回
  • 金融服務:交易警示、帳戶報表、安全通知
  • 醫療保健:預約提醒、檢驗結果、病患通訊
  • 教育:課程註冊確認、作業通知、成績報告

SendGrid 每月處理超過 1,000 億封信件,平均送達率超過 95%。然而,這項令人印象深刻的表現完全取決於一個關鍵因素:信件列表品質。無效的信箱地址會破壞您的寄件者信譽並降低送達率——這正是我們的信箱驗證服務成為必需品的原因。


為什麼要將 BillionVerify 與 SendGrid 整合?

SendGrid 設計用於可靠的信件傳送,但它無法在發送前驗證信箱地址是否有效。如果您的列表包含無效地址,您將面臨毀滅性後果:

  • 寄件者信譽受損:高退信率會破壞您的 SendGrid 寄件者分數,導致所有未來信件(即使是寄給有效收件者)都落入垃圾信件匣
  • 送達率崩潰:如果退信率超過 5%,Gmail 和 Outlook 等 ISP 會將您的域名標記為不可靠
  • 浪費預算:您為永遠無法送達的信件支付 SendGrid 費用
  • 黑名單風險:重複退信可能導致您的 IP 位址或域名被主要 ISP 列入黑名單
  • 分析數據不準確:無效信箱會扭曲您的互動指標,使 A/B 測試不可靠
  • 客戶體驗問題:資料庫中的無效信箱表示真實客戶無法收到重要的交易訊息

SendGrid 信譽問題

SendGrid 根據以下因素為每位寄件者分配 信譽分數(0-100):

  • 退信率(目標:<5%,理想 <1%)
  • 垃圾信件投訴率(目標:<0.1%)
  • 互動率(開信、點擊)
  • 列表品質信號

對未驗證列表發送一次包含 10-15% 無效信箱的活動,可能會 永久損害您的寄件者信譽,需要數週或數月才能恢復——如果恢復是可能的話。

解決方案

BillionVerify + SendGrid 整合可協助您:

  • 發送前驗證:在信箱進入 SendGrid 聯絡人資料庫前進行驗證
  • 保護寄件者信譽:透過 99.9% 驗證準確率將退信率維持在 1% 以下
  • 最大化送達率:確保您的交易型和行銷信件送達收件匣
  • 清理現有列表:在啟動活動前批次驗證整個 SendGrid 聯絡人資料庫
  • 自動化驗證:將驗證整合到註冊流程和用戶引導過程中
  • 降低成本:只發送給有效、可送達的信箱地址

運作方式

整合遵循以下工作流程:

  1. 用戶操作:用戶註冊您的服務或輸入信箱
  2. 預先驗證:BillionVerify 在信箱加入 SendGrid 前進行驗證
  3. 多層驗證:我們的 API 執行全面檢查:
    • 語法驗證(RFC 5322 合規性)
    • DNS 查詢(域名存在且正確配置)
    • MX 記錄驗證(郵件伺服器存在並接受郵件)
    • SMTP 握手(信箱存在且運作中)
    • 進階風險偵測(臨時、全接收、角色型信箱)
  4. 結果處理
    • 有效信箱:發送至 SendGrid 進行傳送
    • 無效信箱:在發送前拒絕或標記
    • ⚠️ 風險信箱:標記以供人工審查或二次驗證
  5. SendGrid 傳送:僅透過 SendGrid 發送已驗證的高品質信箱

整合方法

方法 1:發送前 API 驗證(建議)

在加入 SendGrid 之前 驗證信箱。這是保護寄件者信譽最有效的方法。

前置需求

  • BillionVerify API 金鑰(在此取得
  • SendGrid API 金鑰
  • 基礎程式設計知識(JavaScript、Python、PHP 或 Ruby)

架構

使用者註冊表單
      ↓
BillionVerify API(驗證信箱)
      ↓
有效?→ SendGrid API(新增聯絡人 + 發送)
無效?→ 拒絕或記錄

JavaScript/Node.js 範例

// 範例:透過 SendGrid 發送歡迎訊息前驗證信箱

const axios = require('axios');
const sgMail = require('@sendgrid/mail');

sgMail.setApiKey(process.env.SENDGRID_API_KEY);

async function sendWelcomeEmail(email, name) {
  try {
    // 步驟 1:使用 BillionVerify 驗證信箱
    const verificationResult = await axios.post(
      'https://api.billionverify.com/v1/verify',
      { email },
      {
        headers: {
          'Authorization': `Bearer ${process.env.BILLIONVERIFY_API_KEY}`,
          'Content-Type': 'application/json'
        }
      }
    );

    const { status, risk_level, is_disposable, is_catch_all, is_role } = verificationResult.data;

    // 步驟 2:僅當信箱有效且低風險時發送
    if (status === 'valid' && risk_level === 'low' && !is_disposable) {
      // 信箱可安全發送
      const msg = {
        to: email,
        from: 'welcome@yourdomain.com',
        subject: '歡迎加入我們的服務!',
        text: `您好 ${name},歡迎來到我們的平台!`,
        html: `<h1>您好 ${name}</h1><p>歡迎來到我們的平台!</p>`,
      };

      await sgMail.send(msg);
      console.log(`✅ 歡迎信件已發送至 ${email}`);

      // 可選:新增至 SendGrid 行銷聯絡人
      await addToSendGridContacts(email, name, {
        email_verified: true,
        risk_level: 'low'
      });

      return { success: true, sent: true };
    } else if (status === 'invalid') {
      // 信箱無效 - 不發送
      console.log(`❌ 信箱 ${email} 無效。不發送。`);
      return { success: false, reason: 'invalid_email' };
    } else if (is_disposable) {
      // 臨時信箱 - 封鎖或標記
      console.log(`⚠️ 信箱 ${email} 是臨時信箱。標記中。`);
      return { success: false, reason: 'disposable_email' };
    } else {
      // 風險信箱 - 標記以供審查
      console.log(`⚠️ 信箱 ${email} 有風險(${risk_level})。需要人工審查。`);
      return { success: false, reason: 'risky_email', risk_level };
    }
  } catch (error) {
    console.error('驗證或發送錯誤:', error);
    return { success: false, reason: 'api_error' };
  }
}

async function addToSendGridContacts(email, name, customFields) {
  const data = {
    contacts: [
      {
        email: email,
        first_name: name.split(' ')[0],
        last_name: name.split(' ')[1] || '',
        custom_fields: customFields
      }
    ]
  };

  await axios.put(
    'https://api.sendgrid.com/v3/marketing/contacts',
    data,
    {
      headers: {
        'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
        'Content-Type': 'application/json'
      }
    }
  );
}

// 使用範例
app.post('/api/signup', async (req, res) => {
  const { email, name } = req.body;

  const result = await sendWelcomeEmail(email, name);

  if (result.success) {
    res.json({ message: '帳戶已建立並發送歡迎信件!' });
  } else {
    res.status(400).json({
      error: '無效的信箱地址',
      reason: result.reason
    });
  }
});

Python 範例

import requests
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

BILLIONVERIFY_API_KEY = 'your_billionverify_api_key'
SENDGRID_API_KEY = 'your_sendgrid_api_key'

def send_welcome_email(email, name):
    # 步驟 1:使用 BillionVerify 驗證信箱
    verification_response = requests.post(
        'https://api.billionverify.com/v1/verify',
        json={'email': email},
        headers={
            'Authorization': f'Bearer {BILLIONVERIFY_API_KEY}',
            'Content-Type': 'application/json'
        }
    )
    result = verification_response.json()

    # 步驟 2:僅當有效且低風險時發送
    if result['status'] == 'valid' and result['risk_level'] == 'low' and not result.get('is_disposable'):
        # 可安全發送
        message = Mail(
            from_email='welcome@yourdomain.com',
            to_emails=email,
            subject=f'歡迎 {name}!',
            html_content=f'<h1>您好 {name}</h1><p>歡迎來到我們的平台!</p>'
        )

        try:
            sg = SendGridAPIClient(SENDGRID_API_KEY)
            response = sg.send(message)
            print(f"✅ 信件已發送至 {email},狀態碼:{response.status_code}")

            # 可選:新增至行銷聯絡人
            add_to_sendgrid_contacts(email, name, {
                'email_verified': True,
                'risk_level': 'low'
            })

            return {'success': True, 'sent': True}
        except Exception as e:
            print(f"發送信件錯誤:{e}")
            return {'success': False, 'reason': 'sendgrid_error'}
    elif result['status'] == 'invalid':
        print(f"❌ 信箱 {email} 無效。不發送。")
        return {'success': False, 'reason': 'invalid_email'}
    elif result.get('is_disposable'):
        print(f"⚠️ 信箱 {email} 是臨時信箱。封鎖中。")
        return {'success': False, 'reason': 'disposable_email'}
    else:
        print(f"⚠️ 信箱 {email} 有風險。需要人工審查。")
        return {'success': False, 'reason': 'risky_email'}

def add_to_sendgrid_contacts(email, name, custom_fields):
    data = {
        'contacts': [
            {
                'email': email,
                'first_name': name.split(' ')[0],
                'last_name': ' '.join(name.split(' ')[1:]) if len(name.split(' ')) > 1 else '',
                'custom_fields': custom_fields
            }
        ]
    }

    requests.put(
        'https://api.sendgrid.com/v3/marketing/contacts',
        json=data,
        headers={
            'Authorization': f'Bearer {SENDGRID_API_KEY}',
            'Content-Type': 'application/json'
        }
    )

方法 2:Webhook 事件驗證

根據 SendGrid webhook 事件(退信、封鎖、垃圾信件投訴)驗證信箱。

SendGrid Webhook 設定

  1. 在 SendGrid 中配置 Webhook

    • 前往 設定 → 郵件設定 → 事件 Webhook
    • 輸入您的 webhook URL:https://yourdomain.com/webhook/sendgrid
    • 選擇事件:退信、捨棄、垃圾信件投訴、封鎖
    • 儲存設定
  2. Webhook 處理器範例(Node.js)

const express = require('express');
const axios = require('axios');

const app = express();
app.use(express.json());

app.post('/webhook/sendgrid', async (req, res) => {
  const events = req.body;

  for (const event of events) {
    const { event: eventType, email } = event;

    // 處理退信和封鎖
    if (['bounce', 'dropped', 'blocked'].includes(eventType)) {
      console.log(`⚠️ SendGrid 事件:${email} 的 ${eventType}`);

      // 驗證信箱以檢查是否永久無效
      const verificationResult = await axios.post(
        'https://api.billionverify.com/v1/verify',
        { email },
        {
          headers: {
            'Authorization': `Bearer ${process.env.BILLIONVERIFY_API_KEY}`,
            'Content-Type': 'application/json'
          }
        }
      );

      const { status } = verificationResult.data;

      if (status === 'invalid') {
        // 加入永久封鎖列表
        await addToSuppressionList(email, 'invalid_email');
        console.log(`❌ 信箱 ${email} 已加入封鎖列表`);
      }
    }
  }

  res.status(200).send('OK');
});

async function addToSuppressionList(email, reason) {
  // 加入 SendGrid 封鎖列表
  await axios.post(
    'https://api.sendgrid.com/v3/suppression/bounces',
    {
      emails: [
        {
          email: email,
          reason: reason
        }
      ]
    },
    {
      headers: {
        'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
        'Content-Type': 'application/json'
      }
    }
  );

  // 同時記錄到您的資料庫以進行分析
  // await logInvalidEmail(email, reason);
}

app.listen(3000, () => console.log('Webhook 伺服器運行於連接埠 3000'));

方法 3:批次列表驗證

在啟動活動前清理整個 SendGrid 聯絡人資料庫。

批次驗證工作流程

  1. 匯出 SendGrid 聯絡人

    # 透過 SendGrid UI 或 API 匯出聯絡人
    # 設定 → 行銷 → 聯絡人 → 匯出
    
  2. 上傳至 BillionVerify

    • 前往批次信箱驗證
    • 上傳 CSV 檔案(支援最多 100 萬個信箱)
    • 等待驗證(每小時超過 100,000 個信箱)
  3. 下載結果

    • 下載包含結果的已驗證 CSV
    • 結果包含:status、risk_level、is_disposable、is_catch_all、is_role
  4. 重新匯入至 SendGrid

    // 僅將有效信箱匯入 SendGrid
    const validEmails = verifiedData.filter(
      row => row.status === 'valid' && row.risk_level === 'low'
    );
    
    await axios.put(
      'https://api.sendgrid.com/v3/marketing/contacts',
      { contacts: validEmails },
      {
        headers: {
          'Authorization': `Bearer ${process.env.SENDGRID_API_KEY}`,
          'Content-Type': 'application/json'
        }
      }
    );
    

主要功能

🔄 即時註冊驗證

使用我們的信箱驗證 API 在用戶註冊服務時即時驗證信箱:

  • 防止無效信箱進入您的資料庫
  • 即時向用戶顯示錯誤訊息
  • 從第一天起保護您的 SendGrid 寄件者信譽
  • 將退信率降低至接近零(<0.5%)

使用情境:用戶註冊、電子報註冊、結帳表單


🧹 活動前列表清理

使用批次信箱驗證在啟動 SendGrid 活動前清理聯絡人列表:

  • 上傳包含最多 100 萬個信箱的 CSV 檔案
  • 每小時處理超過 100,000 個信箱
  • 下載包含詳細驗證結果的清理列表
  • 移除無效、風險和臨時信箱

使用情境:每月電子報活動、產品發表、季節促銷


⚡ 交易型信件保護

在透過 SendGrid 發送關鍵交易訊息前驗證信箱:

  • 密碼重設信件
  • 訂單確認
  • 帳戶通知
  • 出貨更新
  • 付款收據

使用情境:電子商務、SaaS 應用程式、金融服務


🎯 進階風險偵測

透過專門的偵測功能超越基本驗證:

  • 全接收偵測:識別接受任何信箱地址的全接收域名
  • 臨時信箱偵測:封鎖臨時信箱(mailinator.com、guerrillamail.com、10minutemail.com)
  • 角色型帳戶偵測:標記一般信箱(info@、support@、admin@、noreply@)
  • 語法驗證:確保 RFC 5322 合規性
  • MX/DNS 驗證:驗證郵件伺服器配置

使用情境:詐騙預防、潛在客戶品質評分、用戶驗證


🔔 Webhook 事件回應

自動重新驗證被 SendGrid 退信或封鎖的信箱:

  • 即時 webhook 整合
  • 自動封鎖列表更新
  • 退信分類和處理
  • 垃圾信件投訴處理

使用情境:持續列表清理、信譽保護


定價

BillionVerify 提供靈活的定價方案,隨著您的 SendGrid 使用量擴展:

方案點數價格每封信箱價格最適合
免費試用100$0免費測試整合
入門版1,000$5$0.005小型應用程式
成長版10,000$40$0.004成長中的 SaaS 產品
專業版50,000$175$0.0035行銷團隊
商業版100,000$300$0.003大量發送者
企業版客製客製從 $0.002 起企業應用程式

SendGrid 用戶專屬優惠

開始使用 BillionVerify 並節省費用:

  • 100 個免費驗證點數(無需信用卡)
  • 首月 8 折優惠(任何月繳方案)
  • 免費整合支援(我們將協助您設定)

領取方式:註冊並發送電子郵件至 support@billionverify.com,附上您的 SendGrid 帳戶信箱。深入瞭解我們的定價方案


使用情境

情境 1:保護 SaaS 引導流程

挑戰:一家 SaaS 公司每月透過 SendGrid 發送 50,000 封歡迎信件,但 12% 因無效註冊而退信,損害寄件者信譽。

解決方案:在建立帳戶前於註冊表單整合 BillionVerify 即時驗證。

結果

  • ✅ 退信率從 12% 降至 0.3%
  • ✅ SendGrid 寄件者信譽從 72 提升至 98
  • ✅ 信件送達率提升至 99% 以上
  • ✅ 客戶支援工單減少 40%(較少「我沒收到信件」的投訴)
  • ✅ 每月節省 $800 SendGrid 費用

情境 2:電子商務訂單確認保護

挑戰:一家電子商務商店每月發送 20,000 封訂單確認信件,但 8% 無效,導致漏送和客戶投訴。

解決方案:在處理訂單前於結帳時驗證客戶信箱地址。

結果

  • ✅ 無效結帳信箱從 8% 降至 0.5%
  • ✅ 訂單確認送達率:99.5%
  • ✅ 客戶滿意度分數提升 15%
  • ✅ 減少 60%「我的訂單在哪裡」支援工單
  • ✅ 保護 SendGrid 寄件者信譽

情境 3:行銷活動列表清理

挑戰:一家 B2B 公司擁有 100,000 個信箱的 SendGrid 聯絡人列表,但已 2 年未清理。計劃發動大型產品發表活動。

解決方案:在啟動活動前批次驗證整個聯絡人資料庫。

結果

  • ✅ 識別並移除 18,000 個無效信箱(18%)
  • ✅ 識別 5,000 個臨時信箱(5%)
  • ✅ 活動退信率:0.6%(相較於業界平均 5-10%)
  • ✅ 開信率提升 35%(更乾淨的列表 = 更好的互動信號)
  • ✅ 避免潛在的 SendGrid 帳戶停權
  • ✅ 節省 $2,500 浪費的活動發送費用

情境 4:防止臨時信箱濫用

挑戰:一個免費試用 SaaS 產品吸引許多使用臨時信箱(10minutemail.com、guerrillamail.com)的用戶濫用免費方案。

解決方案:在註冊時實施即時臨時信箱偵測。

結果

  • ✅ 每月封鎖 4,500 個臨時信箱註冊
  • ✅ 免費試用濫用減少 78%
  • ✅ 試用轉付費轉換率提升 22%
  • ✅ SendGrid 互動指標改善
  • ✅ 減少假帳戶的伺服器成本

SendGrid 整合常見問題

這個整合如何與 SendGrid 配合運作?

BillionVerify + SendGrid 整合透過 API 運作。您在將信箱加入 SendGrid 或透過 SendGrid 發送之前驗證信箱。我們的 API 即時驗證信箱(不到 1 秒)並返回詳細結果。只有有效、低風險的信箱才透過 SendGrid 發送,保護您的寄件者信譽。

會拖慢我的應用程式嗎?

不會。BillionVerify 的 API 平均回應時間不到 1 秒(通常為 300-500 毫秒)。為了獲得更快的效能,您可以:

  • 使用非同步驗證(註冊後在背景驗證)
  • 為先前驗證過的信箱啟用快取
  • 在非尖峰時段批次驗證信箱

我可以驗證現有的 SendGrid 聯絡人嗎?

可以!您可以:

  1. 透過 API 或 UI 匯出 SendGrid 聯絡人
  2. 上傳 至 BillionVerify 的批次驗證工具
  3. 下載 包含詳細狀態的驗證結果
  4. 重新匯入 至 SendGrid,更新自訂欄位

或使用我們的 API 透過指令碼完全自動化此過程。

無效信箱會怎麼處理?

您可以完全控制如何處理無效信箱:

  • 在註冊時 拒絕 它們(建議)
  • 加入 SendGrid 封鎖列表 以防止未來發送
  • 在資料庫中 標記 它們以供人工審查
  • 記錄 它們以進行詐騙偵測分析

我們建議在註冊時拒絕或加入封鎖列表以保護寄件者信譽。

驗證準確度如何?

BillionVerify 透過多層驗證維持 99.9% 準確度

  1. 語法驗證(RFC 5322 合規性)
  2. DNS 查詢(域名存在且正確配置)
  3. MX 記錄驗證(郵件伺服器存在並接受郵件)
  4. SMTP 握手(信箱存在且可接收郵件)
  5. 進階風險偵測(全接收、臨時、角色型信箱)

我們每天驗證數千個域名以維持準確率。

BillionVerify 支援 SendGrid 自訂欄位嗎?

支援!您可以在 SendGrid 自訂欄位中儲存驗證結果:

  • 信箱狀態(有效/無效/風險)
  • 風險級別(低/中/高)
  • 驗證日期(時間戳記)
  • 全接收狀態(true/false)
  • 臨時信箱(true/false)
  • 角色型帳戶(true/false)

這讓您可以根據驗證結果細分聯絡人並建立目標活動。

有免費試用嗎?

有!BillionVerify 提供:

  • 100 個免費驗證點數(無需信用卡)
  • 所有功能完整存取(API、批次驗證、進階偵測)
  • 30 天退款保證(付費方案)
  • 免費整合支援(我們將協助您設定)

開始免費試用

整合有多安全?

BillionVerify 非常重視安全性:

  • 🔒 加密:所有 API 呼叫使用 HTTPS/TLS 1.3
  • 🔒 符合 GDPR:我們不儲存或分享您的信箱資料
  • 🔒 SOC 2 認證:業界標準安全實踐
  • 🔒 API 金鑰安全:金鑰已加密,可隨時輪換
  • 🔒 零資料保留:信箱即時處理且不永久儲存

企業客戶可獲得完整稽核日誌。

BillionVerify 與 SendGrid 內建驗證有何不同?

SendGrid 提供基本驗證(語法和 DNS 檢查),但 BillionVerify 提供:

  • SMTP 驗證:實際連接到郵件伺服器以驗證信箱存在
  • 進階風險偵測:識別臨時、全接收和角色型信箱
  • 99.9% 準確度:比基本 DNS/語法檢查更高的準確度
  • 即時驗證:在信箱進入 SendGrid 前驗證
  • 批次驗證:在幾分鐘內清理整個列表
  • 主動保護:預防退信而非對其做出反應

SendGrid 的驗證是被動的(退信發生後),而 BillionVerify 是主動的(預防退信)。


準備好開始了嗎?

立即使用 BillionVerify 保護您的 SendGrid 寄件者信譽:

  • 99.9% 驗證準確度 - 業界領先精準度
  • <1 秒驗證速度 - 不影響用戶體驗
  • 簡易整合 - 透過我們的 API 在 10 分鐘內設定完成
  • 靈活定價 - 僅為使用量付費,每封信箱從 $0.002 起
  • 24/7 支援 - 專家團隊隨時協助

準備好保護您的 SendGrid 送達率了嗎?立即開始免費試用,獲得 100 個免費驗證點數 - 無需信用卡。

Leo
LeoFounder, BillionVerify
電子郵件驗證洞察

立即開始驗證

立即使用 BillionVerify 開始驗證電子郵件。註冊即可獲得 100 個免費積分——無需信用卡。加入數千家企業的行列,透過精準的電子郵件驗證提升電子郵件行銷的投資報酬率。

無需信用卡 · 每日 100+ 免費積分 · 30 秒後開始

99.9%
準確率
Real-time
API 速度
$0.00014
每封郵件費用
100/day
永久免費