after failed to find a solution for my problem in the mailgun documentation, I will explain what I'm looking for.
Today I'm using phpList to send out my newsletter (It works perfect!), I have HTML pages that I just include in the phpList application to send it out. (I'm using SMTP method to send news out). I wonder if I can do the same with mailgun (for sure can, but how?), is it possible to just include the path of my HTML pages to send it out? (I do not have interest to type my html code in the script, it must be in the path otherwise I have no interest in use mailgun).
Take a look to my mailgun php code as follow:
$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'));
I have the array element named 'html'
, I would like to include the path of my HTML page (if not possible, where can I put it?). I just can not include my whole HTML code in this html array element, cause it is so extensive.
But mailgun claim to be easy and great, that is the motive I want to change.
Send via API Run this: curl -s --user 'api:YOUR_API_KEY' \ https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \ -F from='Excited User <mailgun@YOUR_DOMAIN_NAME>' \ -F to=YOU@YOUR_DOMAIN_NAME \ -F [email protected] \ -F subject='Hello' \ -F text='Testing some Mailgun awesomeness!
SMTP sending made painless Alongside our SMTP servers, Mailgun provides: Real-time email tracking and advanced analytics of your email program. Detailed logs to diagnose issues in sending. Advanced deliverability features to reduce bounce rates and spam complaints.
Enable Email Messaging Select Mailgun and Continue. In another tab, navigate to Mailgun > Sending > Domain settings > Your Domain > SMTP credentials. Copy your Domain and SMTP Login into OneSignal.
I have used external html template in this way. It may be help you.
$html = file_get_contents('my_template.html'); // this will retrieve the html document
and then:
$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'));
Check this line:
'html' => $html,
Adding a link to Mailgun documentation. This helped me while constructing HTML and MIME messages. https://documentation.mailgun.com/api-sending.html#examples
As per documentation:
# 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')
));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With