【问题标题】:Passing Unique Arguments to SendGrid Using Swiftmailer使用 Swiftmailer 将唯一参数传递给 SendGrid
【发布时间】:2017-02-25 13:09:53
【问题描述】:

您好,我正在使用 php 邮件程序 Swiftmailer 使用 SMTP API 通过 SendGrid 发送邮件。我们可以将独特的参数传递给 SendGrid 以帮助跟踪电子邮件。我已经成功地使用 Swiftmailer 传递了独特的标头:

   $headers = $message->getHeaders();

   $headers->addTextHeader('AccountId', $accountId);

虽然这些值已成功注入到已发送电子邮件的标题中,但它们并没有被 SendGrid 传递回我的事件 webhook 或控制面板中。

我也试过了,也没用:

$headers = $message->getHeaders();

        $args = '  {
    "customerAccountNumber": "55555",
    "activationAttempt": "1",
    "New Argument 1": "New Value 1",
    "New Argument 2": "New Value 2",
    "New Argument 3": "New Value 3",
    "New Argument 4": "New Value 4"

}';
        $headers->addTextHeader('unique_args', $args);

这可能是 SendGrid 支持的问题,但由于它与 Swiftmailer 相关,我想我会先在这里尝试。谢谢!

【问题讨论】:

    标签: php sendgrid swiftmailer


    【解决方案1】:

    SendGrid expects a JSON key/value structure in the X-SMTPAPI header entry.

    我有一个使用 SwiftMailer 5.0.3 的旧项目。这就是我将类别值发送到 SendGrid 的方式:

    $message->getHeaders()->addTextHeader('X-SMTPAPI', json_encode(array(
        'category' => $category,
    )));
    

    将该模式应用于您的示例:

    $headers = $message->getHeaders();
    
    $args = array(
        'unique_args' => array(
            'AccountId' => $accountId,
            "customerAccountNumber" => "55555",
            "activationAttempt" => "1",
            "New Argument 1" => "New Value 1",
            "New Argument 2" => "New Value 2",
            "New Argument 3" => "New Value 3",
            "New Argument 4" => "New Value 4",
        ),
    );
    
    $headers->addTextHeader('X-SMTPAPI', json_encode($args));
    

    【讨论】:

    【解决方案2】:

    addTextHeader 方法用于一个值

    $headers->addTextHeader('unique_args', $args);
    

    你应该像这样使用 addParameterizedHeader 方法

    $headers->addParameterizedHeader(
       ["customerAccountNumber" => "55555"],
       ["activationAttempt" => "1"]
    );
    

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 2012-04-01
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      相关资源
      最近更新 更多