Как прикрепить файл Excel в Mandrill с помощью php curl

Я пытаюсь добавить файл Excel (.xlsx) в качестве вложения в электронное письмо, которое я отправляю через Mandrill API. Я использую CURL в php-файле для отправки электронного письма. Файл Excel называется Report.xlsx.

Вот ссылка в Mandrill API использовать CURL.
Вот ссылка другой вопрос, касающийся добавления путей к файлам.


Я получаю следующее сообщение об ошибке:

Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданный путь (T_STRING) в
/var/www/html/newFolder/EmailAlertSystem/mailchimp-mandrill-api-php/UsageReport.php

(**** Какой мой каталог моего кода)


Это мой php-код для отправки электронного письма через Mandrill:

$uri = 'https://mandrillapp.com/api/1.0/messages/send.json';
$api_key = 'APIKEY';
$content = 'all the content I want to add';
$content_text = strip_tags($content);
$from = 'FROM';
$fromName = 'FROMNAME';
$to = 'TO';
$toName = 'TONAME';
$subject = 'SUBJECT';
$fullName = "FIRSTNAME LASTNAME";
$attachment = file_get_contents('Report.xlsx');
$attachment_encoded = base64_encode($attachment);$postString = '{
"key": "' . $api_key . '",
"message": {
"html": "' . $content . '",
"text": "' . $content_text . '",
"subject": "' . $subject . '",
"from_email": "' . $from . '",
"from_name": "' . $fromName . '",
"to": [
{
"email": "' . $to . '",
"name": "' . $fullName . '"}
],
"track_opens": true,
"track_clicks": true,
"auto_text": true,
"url_strip_qs": true,
"preserve_recipients": true,
"attachments" : array(
array(
'path' => $attachment_encoded,
'type' => "application/xlsx",
'name' => 'Report.xlsx',
)
)},
"async": false
}';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);

//this is the executable curl statement that will actually send the email
$result = curl_exec($ch);

Любая помощь будет принята с благодарностью !!! Пожалуйста, дайте мне знать, если я был неясен и что я делаю неправильно. Заранее спасибо!

2

Решение

Ошибка, кажется, относится к этой части

 "attachments" : array(
array(
'path' => $attachment_encoded,
'type' => "application/xlsx",
'name' => 'Report.xlsx',
)
)

Прямо там, строка заканчивается до path и затем перезапущен, это синтаксическая ошибка.

Что-то вроде,

 "attachments" : array(
array(
\'path\' => $attachment_encoded,
\'type\' => "application/xlsx",
\'name\' => \'Report.xlsx\',
)
)

то есть экранирование кавычек должно исправить это, но … остальная часть этой строки выглядит как JSON. Предполагается, что часть вложений имеет формат PHP-подобного массива? Может быть, хочу перепроверить.

4

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

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

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