我目前正在使用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池呢?有没有什么我可以在mailer中使用的选项,或者我需要定制一些东西(我对此没有问题,但我有点喜欢symfony mailer的抽象化,并且喜欢保留它)?
发布于 2019-10-18 21:26:59
可以对DSN方案执行@sendgrid+api以使用SendgridApiTransport,这将执行到/v3/mail/send端点的POST。
ip_pool_name将与发布的JSON有效负载的其余部分一起设置,以及其他数据,如'personalizations.to.email‘& 'name','from','subject',以及所有其他内容-包括主要内容。
然而,(根据我对代码的阅读),SendgridApiTransport似乎不支持/v3/mail/send API有效负载中的所有其他潜在项。
可以基于现有的传输创建您自己的传输,以将额外的字段添加到有效负载中,并使用framework.mailer.transports配置替换它。
在主symfony/symfony issue tracker中将其作为一般邮件程序问题提出,对更广泛的社区也是相当有价值的。
https://stackoverflow.com/questions/58450756
复制相似问题