sendgrid中的替换标记不起作用

时间:2016-08-09 18:02:37

标签: php api curl sendgrid

我正在尝试使用codeigniter中的sendgrid发送电子邮件。以下是发送电子邮件时执行的代码。但是,不使用“sub”参数中提供的值替换电子邮件模板(#name#)中的动态值。只有身体内容被替换。接收电子邮件没有问题。但替换值不会被替换。有人可以帮忙吗?

$pass = 'api key here'; 

            $url = 'https://api.sendgrid.com/';

  $params = '{
  "personalizations": [{"to": [{"email": "galtech.staffs@gmail.com"}]}],
  "from": {"email": "galtech16@gmail.com"},
  "subject":"Hello, World!","content": [{"type": "text/plain","value": "Here is the body content!"}],
  "sub": {
    "#name#": "sssss"    
  },  
    "template_id" : "9ceb8d95-8586-4240-a6fc-f36374bce3ca"

}';


            $request =  $url.'v3/mail/send';
            $headr = array();
            $headr[0] = 'Authorization: Bearer '.$pass;
            $headr[1] = 'Content-Type: application/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);
            curl_setopt($session, CURLOPT_HTTPHEADER,$headr);

            $response = curl_exec($session);
            var_dump($response);
            curl_close($session);

1 个答案:

答案 0 :(得分:0)

替换必须在个性化内部,并且需要写“替换”,然后才能工作。