Como enviar e-mail HTML com mailgun?

Depois de não ter encontrado uma solução para o meu problema na documentação do correio, vou explicar o que procuro.

Hoje estou a usar o phpList para enviar a minha newsletter (funciona perfeitamente!), I have HTML pages that I just include in the phpList application to send it out. (Estou usando o método SMTP para enviar notícias). Eu me pergunto se eu posso fazer o mesmo com mailgun (com certeza pode ,mas como?), é possível apenas incluir o caminho das minhas páginas HTML para enviá-lo? (Eu não tenho interesse para digitar meu código html no script, ele deve estar no caminho caso contrário eu não tenho interesse em usar mailgun).

Dê uma olhada no meu código de php do correio da seguinte forma:
$result = $mgClient->sendMessage("$domain",
           array('from'    => 'My Business Name <[email protected]>',
                 'to'      => '[email protected], [email protected], [email protected]',
                 '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' => '{"[email protected]": {"first":"Name-1", "id":1}, "[email protected]": {"first":"Name-2", "id": 2}}'), 
           array('inline' => 'Pad-Thai-1.jpg'));

Eu Tenho o elemento array chamado 'html', Eu gostaria de incluir o caminho da minha página HTML (se não for possível, onde posso colocá-lo?). Eu só não posso incluir todo o meu código HTML neste elemento array html, porque é tão extenso.

Mas o mailgun diz ser fácil e fantástico, é esse o motivo que quero mudar.

 16
Author: B4NZ41, 2014-02-14

2 answers

Usei um modelo html externo desta forma. Pode ajudar-te.

$html  = file_get_contents('my_template.html'); // this will retrieve the html document

E depois:

$result = $mgClient->sendMessage("$domain",
       array('from'    => 'My Business Name <[email protected]>',
             'to'      => '[email protected], [email protected], [email protected]',
             'subject' => 'Issue Feb 2014',
             'text'    => 'Your mail do not support HTML',
             'html'    => $html,
             'recipient-variables' => '{"[email protected]": {"first":"Name-1", "id":1}, "[email protected]": {"first":"Name-2", "id": 2}}'), 
       array('inline' => 'Pad-Thai-1.jpg'));

Verifique esta linha:

'html'    => $html,
 33
Author: israr, 2015-06-09 09:29:11
A adicionar um link à documentação do Mailgun. Isso me ajudou a construir mensagens HTML e MIME. https://documentation.mailgun.com/api-sending.html#examples

De acordo com a documentação:

# 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'      => '[email protected]',
    'cc'      => '[email protected]',
    'bcc'     => '[email protected]',
    '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')
));
 2
Author: Robin Dowling, 2016-12-01 10:03:01