@Dmaw

Как правильно отправить html в json через curl?

Добрый вечер!
Отправляю почту через unione, столкнулся с проблемой отправки почты в html формате.
Вот часть моего кода:
$json = '
{
  "api_key": "'.$api_key.'",
  "message":
  {
    "global_substitutions":
    {
      "someVar":"body.html"
    },
    "body":
    {
      "html": "'.$message.'"
    },
    "subject": "'.$subject.'",
    "from_email": "'.$from.'",
    "from_name": "NAME",
    "reply_to": "'.$reply.'",
    "track_links" : 1,
    "track_read"  : 1,
    "recipients": [
      {
        "email": "'.$to.'"
      }
    ]
  }
}
';

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_TIMEOUT, 10);
	curl_setopt($ch, CURLOPT_URL, $url);	
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
  	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);                                                              
	$result = curl_exec($ch);

Если в переменную $message положить простой html (выделить жирным), то письмо отправляется, а когда вставляю сюда html c атрибутами, то получаю ошибку. Пробовал экранировать кавычки, не помогло. Вроде и проблема то простая :)
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$json = json_encode([
  "api_key" => $api_key,
  "message" => [
    "global_substitutions" => [
      "someVar" => "body.html"
    ],
    "body" => [
      "html" => $message
    ],
    "subject" => $subject,
    "from_email" => $from,
    "from_name" => "NAME",
    "reply_to" => $reply,
    "track_links" => 1,
    "track_read" => 1,
    "recipients": [
      ["email" => $to]
    ]
  ]
]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы