使用Python对接SendGrid发送邮件后如何获取对应message_id
SendGrid Python SDK 获取发送邮件message_id解决方案
你需要的message_id不在接口响应体中,而是在响应头的X-Message-Id字段中,直接从返回的response对象的headers属性中读取即可。
代码修改示例
在你原有发送逻辑的基础上,调整send调用后的逻辑:
sendgrid_client = SendGridAPIClient(SENDGRID_API_KEY) response = sendgrid_client.send(message) # 新增以下代码获取message_id if response.status_code == 202: # 202状态码表示SendGrid已成功接收邮件发送请求 message_id = response.headers.get("X-Message-Id") # 此处添加你自己的存储逻辑,将message_id和对应业务数据关联存储即可 print("邮件message_id:", message_id)
补充注意事项
- 只有请求返回202状态码时才能拿到有效的message_id,建议添加异常捕获逻辑处理发送失败的场景,避免读取字段时报错
- 后续调用SendGrid查询邮件接口时,直接传入该message_id即可查询对应的投递状态、事件等相关信息
内容的提问来源于stack exchange,提问作者giaggi
相关产品推荐
相关产品推荐

