Два поля на CURLOPT_POSTFIELDS - PullRequest
0 голосов
/ 29 мая 2018

Я хочу использовать Sendgrid для отправки двух электронных писем одновременно.Код ниже работает для одного письма.Я хотел бы отправить второй, не повторяя весь этот код.Можно ли это сделать, возможно, добавив другое значение в CURLOPT_POSTFIELDS, который является единственным изменяемым полем?

<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendgrid.com/v3/mail/send",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n  \"personalizations\": [\n    {\n      \"to\": [\n        {\n          \"email\": \"you@example.com\"\n        }\n      ],\n      \"subject\": \"Test\"\n    }\n  ],\n  \"from\": {\n    \"email\": \"me@example.com\"\n  },\n  \"content\": [\n    {\n      \"type\": \"text/html\",\n      \"value\": \"Hello world!"\n    }\n  ]\n}",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer SG.1234123412341234",
    "cache-control: no-cache",
    "content-type: application/json"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
?>

1 Ответ

0 голосов
/ 29 мая 2018

Все, что вам нужно сделать, это добавить несколько «к» объектам в персонализации json.Как ниже -

"to":["email":"abc@abc.com"],"to":["email":"abc2@abc2.com"] ....
...