提问人:hegez 提问时间:5/26/2017 最后编辑:hegez 更新时间:10/15/2023 访问量:2292
Sendgrid 解析 webhook - 电子邮件转发
Sendgrid parse webhook - email forwarding
问:
我有一个带有 SendGrid 集成的 PHP Web 应用程序,用于传入(解析 webhook)和传出邮件(PHP 与邮件代理的系统配置)。目前,我们的传入邮件系统由一个端点组成,它将所有联系人电子邮件保存到我们的数据库中。我们还希望将一些直接的电子邮件转发映射到其他邮件提供商(例如 [email protected] => [email protected])。mail()
据我所知,在 SendGrid 这边没有电子邮件路由或使用 SMTP 协议转发它们,只有连接到我们端点的普通 API 调用。创建指向我们 IP 地址的 MX 记录不是一种选择,因为我们不想向公众透露我们服务器的原始 IP 地址(DDoS 风险)。
我应该只编写代码来获取电子邮件的内容并转发它吗?有些数据会丢失,但在大多数情况下它应该可以工作。或者有没有办法连接像Gmail Business帐户这样的东西来收听这些特定地址的邮件?mail()
答:
-1赞
ScriptSorcerer
10/15/2023
#1
没有直接的解决方法。
- 使用 SendGrid 分析 Webhook 接收传入电子邮件。
- 将联系人电子邮件存储到您的数据库中(就像您正在做的那样)
- 在应用程序中编写自定义转发逻辑。当电子邮件到达时,如果它符合转发规则之一 [email protected] 到 [email protected]) 使用 PHP mail() 函数或 SMTP 库将电子邮件转发到您想要的地址(例如,[email protected])
请注意,某些信息(例如原始发件人的 IP 地址)、 在此过程中可能无法保留。同时使用HTTPS进行加密 应用程序与 SendGrid 的 API 之间的通信以保护 敏感数据。
- 您必须在Gmail中为特定地址(例如 [email protected] )设置转发规则,才能将电子邮件转发到 [email protected]。这只能在 Gmail 商务版设置中实现。
注意:此转发由 Gmail 管理,而不是在您的 PHP 应用程序中。 如果您愿意将 Gmail 用于此目的,则可以选择此选项。
- 为避免显示您服务器的原始 IP 地址,您可以使用 Cloudflare 或类似的 CDN/WAF 等服务。这些服务充当您的服务器和公众之间的代理,掩盖您服务器的真实 IP 地址。
请记住,请根据特定的应用程序和威胁模型实施其他安全措施。
评论