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

如何不使用Zapier通过webhook触发Sendgrid发送邮件

SendGrid 入站Webhook触发邮件发送实现方案

SendGrid 官方暂未提供原生的「入站 Webhook 直接触发邮件发送」能力,你找到的关联Zapier的方案,本质是Zapier作为中间层承接Webhook请求后,再调用SendGrid发信接口实现的,你完全可以自己开发轻量服务替代Zapier实现需求,具体实现步骤如下:

前置准备

  • 完成SendGrid发件域名认证,获取拥有Mail Send权限的API Key
  • 提前配置好需要使用的邮件内容/动态模板,记录对应模板ID(若使用动态模板需提前确认变量占位符配置正确)

实现核心逻辑

你只需要开发一个简单的HTTP接口服务作为Webhook接收端,核心逻辑如下:

  • 承接上游触发方的Webhook请求,自定义校验规则(比如固定请求头Token、签名校验等)过滤非法请求,避免恶意触发垃圾邮件
  • 解析Webhook请求中的业务参数,比如收件人地址、邮件动态变量值等
  • 按照SendGrid官方接口要求拼装发信参数,调用SendGrid邮件发送接口完成发信

参考代码示例(Python Flask实现)

from flask import Flask, request
import sendgrid
from sendgrid.helpers.mail import Mail, Email, To

app = Flask(__name__)
# 替换为自己的SendGrid API Key
SG_API_KEY = "你的SendGrid API Key"
sg = sendgrid.SendGridAPIClient(api_key=SG_API_KEY)
# 自定义Webhook校验Token,上游调用时需在请求头携带对应值
WEBHOOK_VERIFY_TOKEN = "自定义的校验字符串"
# 替换为你认证过的发件邮箱
FROM_EMAIL = "你的认证发件邮箱地址"

@app.route("/trigger-send-email", methods=["POST"])
def send_email_via_sg():
    # 校验请求合法性
    if request.headers.get("X-Webhook-Token") != WEBHOOK_VERIFY_TOKEN:
        return {"status": "error", "msg": "非法请求"}, 403
    # 解析请求参数
    req_params = request.get_json()
    to_email = req_params.get("to_email")
    template_vars = req_params.get("template_vars", {})
    # 拼装发信请求,以下为动态模板发信示例,可根据需求调整为静态内容发信
    mail = Mail(
        from_email=FROM_EMAIL,
        to_emails=To(to_email),
    )
    mail.dynamic_template_id = "你的SendGrid动态模板ID"
    mail.dynamic_template_data = template_vars
    # 调用SendGrid接口发信
    resp = sg.send(mail)
    return {"status": "success", "sg_response_code": resp.status_code}

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

部署使用

将上述接口服务部署到公网可访问的服务器/容器服务中,开启HTTPS加密后,将接口的公网访问URL提供给上游触发方,上游按照你定义的参数格式调用该Webhook地址即可自动触发SendGrid发送邮件。

注意事项

  • 建议添加接口请求频率限制,避免被恶意调用产生超额发信费用
  • 可以增加发信结果日志记录,方便后续排查发信失败问题
  • 生产环境部署建议使用专业WSGI服务替代Flask自带的运行服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:24:01