Я пытаюсь передать несколько изображений через встроенный API-параметр Mailgun. У меня нет проблем только с одним изображением, но когда я пытаюсь использовать несколько изображений — как в приведенном ниже коде — в письме отображается только последнее изображение в массиве.
$template = View::make('emails.template')->render();
$result = $mgClient->sendMessage($domain, array(
'from' => $sender,
'to' => implode(',',$emailAddresses),
'subject' => '%recipient.subject%',
'text' => $messageText,
'recipient-variables' => json_encode($credentials),
'html' => $template
), array(
'inline' => array(
'path/to/image1.png',
'path/to/image2.png',
'path/to/image3.png',
'path/to/image4.png')
));
Приведенный выше код работает так, как будто последний элемент в массиве является единственным элементом.
Документация для отправки встроенных изображений с помощью Mailgun найдена Вот и сказано Вот что «Вы можете публиковать несколько встроенных значений», что означает, что я определенно делаю что-то не так.
Попробуйте это один раз:
$result = $mgClient->sendMessage($domain, array(
'from' => $sender,
'to' => implode(',',$emailAddresses),
'subject' => '%recipient.subject%',
'text' => $messageText,
'recipient-variables' => json_encode($credentials),
'html' => $template
), array(
'inline' => array(
array('path/to/image1.png'),
array('path/to/image2.png'),
array('path/to/image3.png'),
array('path/to/image4.png')
)));
В основном, упаковка каждого пути изображения в массиве.
Также, что является содержанием $template
?
На самом деле это была недавно введенная ошибка. Новый запрос на отправку отправлен в официальный Mailgun PHP SDK, для получения дополнительной информации см. Вот.
Итак, чтобы ответить на вопрос: код работает нормально, как только SDK обновляется в соответствии с вышеуказанным запросом. На данный момент я отредактировал свою локальную копию mailgun-php соответственно, и она работала нормально. Большое спасибо Трэвису Свиентеку на Mailgun за быстрый ответ.