I'm Tracking my send grid mail activities. I want to add category to my mail headers. This is the code I used:
$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);
But the category (news) is not added in the send grid statistics. How can add category to mail.
                        
You need to pass categories as JSON to the x-smtpapi param rather than incuding it at the top level. Like so:
You can see another example of this in practice in the 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 for those headers as well.