Sendgrid 解析 webhook - 电子邮件转发

Sendgrid parse webhook - email forwarding

提问人:hegez 提问时间:5/26/2017 最后编辑:hegez 更新时间:10/15/2023 访问量:2292

问:

我有一个带有 SendGrid 集成的 PHP Web 应用程序,用于传入(解析 webhook)和传出邮件(PHP 与邮件代理的系统配置)。目前,我们的传入邮件系统由一个端点组成,它将所有联系人电子邮件保存到我们的数据库中。我们还希望将一些直接的电子邮件转发映射到其他邮件提供商(例如 [email protected] => [email protected])。mail()

据我所知,在 SendGrid 这边没有电子邮件路由或使用 SMTP 协议转发它们,只有连接到我们端点的普通 API 调用。创建指向我们 IP 地址的 MX 记录不是一种选择,因为我们不想向公众透露我们服务器的原始 IP 地址(DDoS 风险)。

我应该只编写代码来获取电子邮件的内容并转发它吗?有些数据会丢失,但在大多数情况下它应该可以工作。或者有没有办法连接像Gmail Business帐户这样的东西来收听这些特定地址的邮件?mail()

PHP 发送网格 电子邮件

评论

0赞 Pouya Sanooei 4/18/2018
你找到问题的解决方案了吗?我有同样的问题。发送电子邮件仅支持 JSON,因此即使我从 Sendgrid 获得原始有效负载,我也不能使用相同的有效负载通过 Sendgrid 发送,而是创建了一个新的 JSON 请求并嵌入了包括附件在内的所有内容。有没有更好的方法?
0赞 hegez 4/18/2018
@PouyaSanooei 还没有找到转发邮件的好方法。
0赞 Korede Aderele 10/12/2020
2020 年有什么更新吗?
0赞 Arian Sakhaei 7/3/2023
考虑使用第三方电子邮件转发服务,您可以减轻电子邮件路由和转发的责任,从而减少服务器 IP 地址遭受潜在 DDoS 攻击的风险。

答:

-1赞 ScriptSorcerer 10/15/2023 #1

没有直接的解决方法。

  1. 使用 SendGrid 分析 Webhook 接收传入电子邮件。
  2. 将联系人电子邮件存储到您的数据库中(就像您正在做的那样)
  3. 在应用程序中编写自定义转发逻辑。当电子邮件到达时,如果它符合转发规则之一 [email protected] 到 [email protected] 使用 PHP mail() 函数或 SMTP 库将电子邮件转发到您想要的地址(例如,[email protected])

请注意,某些信息(例如原始发件人的 IP 地址)、 在此过程中可能无法保留。同时使用HTTPS进行加密 应用程序与 SendGrid 的 API 之间的通信以保护 敏感数据。

  1. 您必须在Gmail中为特定地址(例如 [email protected] )设置转发规则,才能将电子邮件转发到 [email protected]。这只能在 Gmail 商务版设置中实现。

注意:此转发由 Gmail 管理,而不是在您的 PHP 应用程序中。 如果您愿意将 Gmail 用于此目的,则可以选择此选项。

  1. 为避免显示您服务器的原始 IP 地址,您可以使用 Cloudflare 或类似的 CDN/WAF 等服务。这些服务充当您的服务器和公众之间的代理,掩盖您服务器的真实 IP 地址。

请记住,请根据特定的应用程序和威胁模型实施其他安全措施。