SparkPost отправка шаблона электронной почты

я использую SparkPost PHP API отправить электронное письмо получателю, но я столкнулся с этой ошибкой. В настоящее время я настроил все необходимые поля, но у меня все еще есть проблемы с большими электронными письмами. Я могу легко отправить небольшой текст, но у меня возникают трудности с большими данными.

[{«message»: «обязательное поле отсутствует», «description»: «В ‘content'», «code»: «1400»}] должен присутствовать хотя бы один из ‘text’ или ‘html’

Мой код:

for ($j = 0; $j < count($result1arr); $j++) {

try {

SparkPost::setConfig(["key" => "XXXXX"]);
$results = Transmission::send(array(
"from" => "[email protected]",
"html" => $resultarr['mailBody'],
"text" => $resultarr['mailBody'],
"subject" => $resultarr['subject'],
"recipientList" => $result1arr[$j]['groupName']
));

$_SESSION['success_message'] = 'Email sended successfully to Recipient List with ID : ' . $data['recipients_id'];
$qry = "DELETE  from mailQueue where mailQueueId={$result1arr[$j]['mailQueueId']}";
$res = $conn->query($qry);
$sql1 = "INSERT INTO sendMailHistory (schoolName,noOfMailSent) VALUES ('{$result1arr[$j]['originalGroupId']}','{$results['results']['total_accepted_recipients']}')";
$result1 = $conn->query($sql1);

$chc = curl_init();
curl_setopt($chc, CURLOPT_URL, "https://api.sparkpost.com/api/v1/recipient-lists/{$result1arr[$j]['groupName']}");
curl_setopt($chc, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($chc, CURLOPT_HEADER, FALSE);
curl_setopt($chc, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($chc, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($chc, CURLOPT_HTTPHEADER, array(
"Accept: application/json",
"Authorization: XXXXX"));

$response = curl_exec($chc);
curl_close($chc);
header('Location: ../index.php');
exit;
return true;
} catch (\Exception $exception) {
echo $exception->getMessage();
}
}

1

Решение

Это происходит потому, что $resultarr['mailBody'] не определено.

Вы уверены, что массив $resultarr существует? Если так, то mailBody элемент должен отсутствовать.

Вы можете поставить либо text часть или html часть или оба. Но если вы не предоставите ни то, ни другое, вы получите ошибку: At least one of 'text' or 'html' needs to exist in 'content',

В этом случае ни один не поставляется, потому что $resultarr['mailBody'] быть неопределенным вызывает text а также html элементы массива не определены.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]