添加类别以使用 web api 发送网格邮件

Add category to send grid mail using web api

我正在跟踪我的发送网格邮件活动。我想为我的邮件添加类别 headers。 这是我使用的代码:

$params = array(
    'api_user'  => 'xxx',
    'api_key'   => 'xxxx',
    'to'        => $to,
    'subject'   => $subject,
    'html'      => $message,
    'from'      => $from,
    'category'  => 'news',   
);

$request =  $url.'api/mail.send.json';
$session = curl_init($request);
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
curl_close($session);

但是在发送网格统计中没有添加类别(新闻)。如何给邮件添加类别。 请帮助我。

您需要将类别作为 JSON 传递给 x-smtpapi 参数,而不是在顶层包含它。像这样:

$categories = array("category" => "news");
$params = array(
  'api_user'  => 'xxx',
  'api_key'   => 'xxxx',
  'to'        => $to,
  'subject'   => $subject,
  'html'      => $message,
  'from'      => $from,
  'x-smtpapi'  => json_encode($categories)   
);

您也可以在 SendGrid Documentation. Additionally, here are the docs for all the things you can do with the X-SMTPAPI headers, and we also have a validator 中为那些 headers 看到另一个实践中的例子。