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

如何编写脚本自动从SendGrid获取各类抑制列表并邮件发送?

用SendGrid API自动获取抑制列表并发送邮件的实现方案

完全可行,SendGrid提供了专门的API接口来获取各类抑制列表,同时也支持通过API发送邮件,你的需求可以完整实现。

核心步骤

1. 前期准备

  • 登录SendGrid后台生成API密钥,必须开启Suppressions(获取抑制列表)和Mail Send(发送邮件)的权限
  • 安装对应语言的SDK,比如Python环境下直接执行pip install sendgrid

2. 拉取各类抑制列表

针对每种抑制类型,调用对应的API端点即可:

  • 退信(Bounce):GET /v3/suppression/bounces
  • 垃圾邮件投诉(Spam):GET /v3/suppression/spam_reports
  • 无效地址(Invalid):GET /v3/suppression/invalid_emails
  • 拦截(Block):GET /v3/suppression/blocks

Python示例代码:

import sendgrid

# 初始化客户端,替换成你的API密钥
sg = sendgrid.SendGridAPIClient(api_key='YOUR_SENDGRID_API_KEY')

# 拉取退信列表
bounce_data = sg.client.suppression.bounces.get().body
# 拉取垃圾邮件投诉列表
spam_data = sg.client.suppression.spam_reports.get().body
# 拉取无效地址列表
invalid_data = sg.client.suppression.invalid_emails.get().body
# 拉取拦截列表
block_data = sg.client.suppression.blocks.get().body

3. 整理数据并发送邮件

把拉取到的列表整理成易读格式,再通过SendGrid的邮件API发送给指定人员:

Python示例代码:

from sendgrid.helpers.mail import Mail, Content

# 整理邮件内容,用Markdown格式让内容更清晰
email_body = f"""
### SendGrid抑制列表汇总
#### 退信地址
{bounce_data}

#### 垃圾邮件投诉地址
{spam_data}

#### 无效邮件地址
{invalid_data}

#### 拦截地址
{block_data}
"""

# 构建邮件
mail_msg = Mail(
    from_email='你的发件邮箱@example.com',
    to_emails='收件人邮箱@example.com',
    subject='每日SendGrid抑制列表汇总',
    html_content=Content('text/html', email_body)
)

# 发送邮件
try:
    response = sg.send(mail_msg)
    print(f"邮件发送成功,状态码:{response.status_code}")
except Exception as e:
    print(f"发送失败:{str(e)}")

注意事项

  • API有速率限制,批量拉取时别太频繁,避免被限流
  • 可以给API请求加start_time和end_time参数,只拉取指定时间段的数据,减少返回量
  • 别把API密钥硬编码在脚本里,存到环境变量里更安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:15:13