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

时间:2015-06-19 08:53:58

标签: php curl asp.net-web-api sendgrid

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

$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);

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

1 个答案:

答案 0 :(得分:2)

您需要将类别作为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中看到另一个实践示例。此外,here are the docs表示您可以使用X-SMTPAPI标头执行的所有操作,并且我们还为这些标头添加了validator