php - Symfony 邮件程序 - sendgrid ip 池
问题描述
我目前正在使用 symfony mailer + sendgrid 来发送邮件。配置相当标准(如此处所述:https ://symfony.com/doc/current/mailer.html )。
我现在正在尝试集成 sendgrid ip 池(这样我们就可以为不同类型的邮件或客户使用不同的专用 ip,让他们更好地标记重要邮件,让我们有更好的报告)。这些池通常在此处进行描述:https ://sendgrid.com/blog/ip-pools-all-you-need-to-know/ 。
问题是 sendgrid 网桥似乎不支持此功能(或者我可能错过了它?)。此外,似乎(不确定)sendgrid 实现使用的是 sendgrid smtp api,而不是 sendgrid webapi,而且我没有选择添加任何类型的新/自定义标头来指定池。
那么如何在 symfony 中使用 sendgrid ip 池呢?有什么我可以在邮件程序中使用的选项来做到这一点,还是我需要定制一些东西(我对此没有问题,但我有点喜欢 symfony 邮件程序的抽象化并且会喜欢保留它)?
解决方案
DSN 方案可以@sendgrid+api
使用 SendgridApiTransport,它将对/v3/mail/send
端点进行 POST。
将ip_pool_name
与发布的其余 JSON 有效负载以及其余数据(例如“personalizations.to.email”和“姓名”、“发件人”、“主题”等)一起设置 -包括主要内容。
但是,SendgridApiTransport
没有出现(根据我对代码的阅读),似乎支持/v3/mail/send
API 有效负载中的所有其他潜在项目。
可以创建自己的传输,在现有传输的基础上将额外字段添加到有效负载中,并将其替换为 framework.mailer.transports 配置。
在主要的symfony/symfony 问题跟踪器中将其作为一般 Mailer 问题提出,这对更广泛的社区也非常有价值。
https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html#-Request-Body-Parameters
推荐阅读
- android - 未找到动态功能中的活动(ClassNotFound)
- angular - 使用假 json 数据服务的数据表服务器端处理
- ios - 该按钮在 SpeechKit / swift 中不起作用
- spring-boot - 带弹簧靴的榛树
- javascript - 使用 Gradle 将 Spring MVC .jsp 连接到 .js
- css - 如何在锚标签内居中多个图像
- java - 运行服务器时出现 Corda ActiveMQConnectionTimedOutException
- tomcat - JSF 元素不显示
- python - Python 中的烛台颜色值不适用
- python - 如何尝试一些东西,如果它失败了尝试别的东西?