после того, как не удалось найти решение для моей проблемы в документации mailgun, я объясню, что я ищу.
Сегодня я использую phpList для отправки своего информационного бюллетеня (он отлично работает!), У меня есть HTML-страницы, которые я просто включаю в приложение phpList, чтобы отправить его. (Я использую метод SMTP для отправки новостей). Интересно, могу ли я сделать то же самое с mailgun (наверняка может, но как?), Можно ли просто указать путь к моим HTML-страницам, чтобы отправить его? (Мне неинтересно набирать код html в скрипте, он должен быть на пути, иначе я не заинтересован в использовании mailgun).
Взгляните на мой почтовый PHP-код следующим образом:
$result = $mgClient->sendMessage("$domain", array('from' => 'My Business Name <me@samples.mailgun.org>', 'to' => 'name-1@gmail.com, name-3@gmail.com, name-3@gmail.com', 'subject' => 'Issue Feb 2014', 'text' => 'Your mail do not support HTML', 'html' => '<html>Inline image: <img src="cid:Pad-Thai-1.jpg"></html>', 'recipient-variables' => '{"name-1@gmail.com": {"first":"Name-1", "id":1}, "name-2@gmail.com": {"first":"Name-2", "id": 2}}'), array('inline' => 'Pad-Thai-1.jpg'));
У меня есть элемент массива с именем 'html'
, я хотел бы указать путь к моей HTML-странице (если это невозможно, где я могу ее поместить?). Я просто не могу включить весь код HTML в этот элемент массива html, потому что он настолько обширен.
Но mailgun претендует на то, чтобы быть легким и замечательным, это мотив, который я хочу изменить.
Таким образом, я использовал внешний шаблон html. Это может помочь вам.
$html = file_get_contents('my_template.html'); // this will retrieve the html document
а потом:
$result = $mgClient->sendMessage("$domain", array('from' => 'My Business Name <me@samples.mailgun.org>', 'to' => 'name-1@gmail.com, name-3@gmail.com, name-3@gmail.com', 'subject' => 'Issue Feb 2014', 'text' => 'Your mail do not support HTML', 'html' => $html, 'recipient-variables' => '{"name-1@gmail.com": {"first":"Name-1", "id":1}, "name-2@gmail.com": {"first":"Name-2", "id": 2}}'), array('inline' => 'Pad-Thai-1.jpg'));
Проверьте эту строку:
'html' => $html,
Добавление ссылки на документацию Mailgun. Это помогло мне при создании сообщений HTML и MIME. https://documentation.mailgun.com/api-sending.html#examples
Согласно документации:
# Include the Autoloader (see "Libraries" for install instructions) require 'vendor/autoload.php'; use Mailgun\Mailgun; # Instantiate the client. $mgClient = new Mailgun('YOUR_API_KEY'); $domain = "YOUR_DOMAIN_NAME"; # Make the call to the client. $result = $mgClient->sendMessage($domain, array( 'from' => 'Excited User <YOU@YOUR_DOMAIN_NAME>', 'to' => 'foo@example.com', 'cc' => 'baz@example.com', 'bcc' => 'bar@example.com', 'subject' => 'Hello', 'text' => 'Testing some Mailgun awesomness!', 'html' => '<html>HTML version of the body</html>' ), array( 'attachment' => array('/path/to/file.txt', '/path/to/file.txt') ));