You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从SendGrid账户获取退信及垃圾举报的收件人邮箱列表?

解决方案:使用SendGrid Event API获取具体退信/垃圾邮件举报收件人

你当前用的Stats API仅返回聚合统计数据,拿不到单个事件的具体收件人信息。要获取退信(bounce)和垃圾邮件举报(spam_report)的邮箱地址,得调用Event API,并通过参数过滤指定事件类型。

代码实现示例

以下是PHP环境下用SendGrid SDK调用Event API的完整代码,支持按时间范围查询并提取目标邮箱:

<?php
require 'vendor/autoload.php';

$sg = new \SendGrid(getenv('SENDGRID_API_KEY'));

// 构造查询参数:指定时间范围、事件类型、分页参数
$query_params = [
    'start_time' => strtotime('2023-08-08 00:00:00'), // 起始时间戳(秒级)
    'end_time' => strtotime('2023-08-08 23:59:59'),   // 结束时间戳(秒级)
    'limit' => 500,                                  // 单次请求最大返回数
    'offset' => 0,                                   // 分页偏移量
    'event' => ['bounce', 'spam_report']             // 过滤目标事件类型
];

try {
    $response = $sg->client->events()->get(null, $query_params);
    $events = json_decode($response->body(), true);

    // 提取并收集需标记的邮箱
    $blockedEmails = [];
    foreach ($events as $event) {
        // 处理退信事件,区分硬退/软退
        if ($event['event'] === 'bounce') {
            $blockedEmails[] = [
                'email' => $event['email'],
                'reason' => 'bounce',
                'bounce_type' => $event['type'] // 可选:hard/soft bounce
            ];
        }
        // 处理垃圾邮件举报事件
        elseif ($event['event'] === 'spam_report') {
            $blockedEmails[] = [
                'email' => $event['email'],
                'reason' => 'spam_report'
            ];
        }
    }

    // 后续逻辑:将$blockedEmails写入数据库标记为禁止联系
    // 示例:print_r($blockedEmails);
} catch (Exception $e) {
    echo '请求错误: ' . $e->getMessage();
}
?>

关键说明

  • 事件过滤:通过event参数指定bounce和spam_report,只返回目标事件,减少无效数据。
  • 分页处理:如果目标时间范围内的事件超过500条,需要循环递增offset参数,直到返回结果为空,确保获取所有数据。
  • 字段解析:每个事件的email字段就是收件人邮箱;退信事件的type字段可区分硬退(永久失效)和软退(临时问题),可根据业务需求决定是否标记软退邮箱。
  • 时间格式:Event API使用Unix秒级时间戳,需将日期转换为对应格式。

轮询落地建议

把上述代码封装成定时任务(比如Linux Cron、Windows任务计划),每周执行一次,自动同步并更新数据库中的禁止联系邮箱列表。

内容的提问来源于stack exchange,提问作者Shaun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:43:30