- Updates mailers to use HTML and/or TEXT body
This commit is contained in:
@ -31,16 +31,21 @@ class AmazonSES {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getBody($newsletter, $subscriber) {
|
function getBody($newsletter, $subscriber) {
|
||||||
return array(
|
$body = array(
|
||||||
'Action' => 'SendEmail',
|
'Action' => 'SendEmail',
|
||||||
'Version' => '2010-12-01',
|
'Version' => '2010-12-01',
|
||||||
'Source' => $this->from,
|
'Source' => $this->from,
|
||||||
'Destination.ToAddresses.member.1' => $subscriber,
|
'Destination.ToAddresses.member.1' => $subscriber,
|
||||||
'Message.Subject.Data' => $newsletter['subject'],
|
'Message.Subject.Data' => $newsletter['subject'],
|
||||||
'Message.Body.Html.Data' => $newsletter['body']['html'],
|
|
||||||
'Message.Body.Text.Data' => $newsletter['body']['text'],
|
|
||||||
'ReturnPath' => $this->from
|
'ReturnPath' => $this->from
|
||||||
);
|
);
|
||||||
|
if(!empty($newsletter['body']['html'])) {
|
||||||
|
$body['Message.Body.Html.Data'] = $newsletter['body']['html'];
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$body['Message.Body.Text.Data'] = $newsletter['body']['text'];
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
function request($newsletter, $subscriber) {
|
function request($newsletter, $subscriber) {
|
||||||
|
@ -22,15 +22,20 @@ class ElasticEmail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getBody($newsletter, $subscriber) {
|
function getBody($newsletter, $subscriber) {
|
||||||
return array(
|
$body = array(
|
||||||
'api_key' => $this->apiKey,
|
'api_key' => $this->apiKey,
|
||||||
'from' => $this->fromEmail,
|
'from' => $this->fromEmail,
|
||||||
'from_name' => $this->fromName,
|
'from_name' => $this->fromName,
|
||||||
'to' => $subscriber,
|
'to' => $subscriber,
|
||||||
'subject' => $newsletter['subject'],
|
'subject' => $newsletter['subject']
|
||||||
'body_html' => $newsletter['body']['html'],
|
|
||||||
'body_text' => $newsletter['body']['text']
|
|
||||||
);
|
);
|
||||||
|
if(!empty($newsletter['body']['html'])) {
|
||||||
|
$body['body_html'] = $newsletter['body']['html'];
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$body['body_text'] = $newsletter['body']['text'];
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
function request($newsletter, $subscriber) {
|
function request($newsletter, $subscriber) {
|
||||||
|
@ -22,13 +22,18 @@ class MailGun {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getBody($newsletter, $subscriber) {
|
function getBody($newsletter, $subscriber) {
|
||||||
return array(
|
$body = array(
|
||||||
'from' => $this->from,
|
'from' => $this->from,
|
||||||
'to' => $subscriber,
|
'to' => $subscriber,
|
||||||
'subject' => $newsletter['subject'],
|
'subject' => $newsletter['subject']
|
||||||
'html' => $newsletter['body']['html'],
|
|
||||||
'text' => $newsletter['body']['text']
|
|
||||||
);
|
);
|
||||||
|
if(!empty($newsletter['body']['html'])) {
|
||||||
|
$body['html'] = $newsletter['body']['html'];
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$body['text'] = $newsletter['body']['text'];
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
function auth() {
|
function auth() {
|
||||||
|
@ -37,18 +37,23 @@ class Mandrill {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getBody($newsletter, $subscriber) {
|
function getBody($newsletter, $subscriber) {
|
||||||
return array(
|
$body = array(
|
||||||
'key' => $this->apiKey,
|
'key' => $this->apiKey,
|
||||||
'message' => array(
|
'message' => array(
|
||||||
'from_email' => $this->fromEmail,
|
'from_email' => $this->fromEmail,
|
||||||
'from_name' => $this->fromName,
|
'from_name' => $this->fromName,
|
||||||
'to' => array($subscriber),
|
'to' => array($subscriber),
|
||||||
'subject' => $newsletter['subject'],
|
'subject' => $newsletter['subject']
|
||||||
'html' => $newsletter['body']['html'],
|
|
||||||
'text' => $newsletter['body']['text']
|
|
||||||
),
|
),
|
||||||
'async' => false,
|
'async' => false,
|
||||||
);
|
);
|
||||||
|
if(!empty($newsletter['body']['html'])) {
|
||||||
|
$body['message']['html'] = $newsletter['body']['html'];
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$body['message']['text'] = $newsletter['body']['text'];
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
function request($newsletter, $subscriber) {
|
function request($newsletter, $subscriber) {
|
||||||
|
@ -25,14 +25,19 @@ class SendGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getBody($newsletter, $subscriber) {
|
function getBody($newsletter, $subscriber) {
|
||||||
return array(
|
$body = array(
|
||||||
'to' => $subscriber,
|
'to' => $subscriber,
|
||||||
'from' => $this->fromEmail,
|
'from' => $this->fromEmail,
|
||||||
'fromname' => $this->fromName,
|
'fromname' => $this->fromName,
|
||||||
'subject' => $newsletter['subject'],
|
'subject' => $newsletter['subject']
|
||||||
'html' => $newsletter['body']['html'],
|
|
||||||
'text' => $newsletter['body']['text']
|
|
||||||
);
|
);
|
||||||
|
if(!empty($newsletter['body']['html'])) {
|
||||||
|
$body['html'] = $newsletter['body']['html'];
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$body['text'] = $newsletter['body']['text'];
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
function auth() {
|
function auth() {
|
||||||
|
@ -47,11 +47,9 @@ class MailPoet {
|
|||||||
)),
|
)),
|
||||||
'subject' => $newsletter['subject']
|
'subject' => $newsletter['subject']
|
||||||
);
|
);
|
||||||
|
|
||||||
if(!empty($newsletter['body']['html'])) {
|
if(!empty($newsletter['body']['html'])) {
|
||||||
$body['html'] = $newsletter['body']['html'];
|
$body['html'] = $newsletter['body']['html'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($newsletter['body']['text'])) {
|
if(!empty($newsletter['body']['text'])) {
|
||||||
$body['text'] = $newsletter['body']['text'];
|
$body['text'] = $newsletter['body']['text'];
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ class SMTP {
|
|||||||
try {
|
try {
|
||||||
$message = $this->createMessage($newsletter, $subscriber);
|
$message = $this->createMessage($newsletter, $subscriber);
|
||||||
$result = $this->mailer->send($message);
|
$result = $this->mailer->send($message);
|
||||||
} catch (\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
$result = false;
|
$result = false;
|
||||||
}
|
}
|
||||||
return ($result === 1);
|
return ($result === 1);
|
||||||
@ -39,12 +39,17 @@ class SMTP {
|
|||||||
|
|
||||||
|
|
||||||
function createMessage($newsletter, $subscriber) {
|
function createMessage($newsletter, $subscriber) {
|
||||||
return \Swift_Message::newInstance()
|
$message = \Swift_Message::newInstance()
|
||||||
->setFrom(array($this->fromEmail => $this->fromName))
|
->setFrom(array($this->fromEmail => $this->fromName))
|
||||||
->setTo($this->processSubscriber($subscriber))
|
->setTo($this->processSubscriber($subscriber))
|
||||||
->setSubject($newsletter['subject'])
|
->setSubject($newsletter['subject']);
|
||||||
->setBody($newsletter['body']['html'], 'text/html')
|
if(!empty($newsletter['body']['html'])) {
|
||||||
->addPart($newsletter['body']['text'], 'text/plain');
|
$message = $message->setBody($newsletter['body']['html'], 'text/html');
|
||||||
|
}
|
||||||
|
if(!empty($newsletter['body']['text'])) {
|
||||||
|
$message = $message->addPart($newsletter['body']['text'], 'text/plain');
|
||||||
|
}
|
||||||
|
return $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
function processSubscriber($subscriber) {
|
function processSubscriber($subscriber) {
|
||||||
|
@ -20,7 +20,7 @@ class WPMail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function addFilters() {
|
function addFilters() {
|
||||||
foreach ($this->filters as $filter => $method) {
|
foreach($this->filters as $filter => $method) {
|
||||||
add_filter($filter, array(
|
add_filter($filter, array(
|
||||||
$this,
|
$this,
|
||||||
$method
|
$method
|
||||||
@ -29,7 +29,7 @@ class WPMail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function removeFilters() {
|
function removeFilters() {
|
||||||
foreach ($this->filters as $filter => $method) {
|
foreach($this->filters as $filter => $method) {
|
||||||
remove_filter($filter, array(
|
remove_filter($filter, array(
|
||||||
$this,
|
$this,
|
||||||
$method
|
$method
|
||||||
@ -51,7 +51,10 @@ class WPMail {
|
|||||||
|
|
||||||
function send($newsletter, $subscriber) {
|
function send($newsletter, $subscriber) {
|
||||||
$this->addFilters();
|
$this->addFilters();
|
||||||
$result = wp_mail($subscriber, $newsletter['subject'], $newsletter['body']['html']);
|
$result = wp_mail(
|
||||||
|
$subscriber, $newsletter['subject'],
|
||||||
|
(!empty($newsletter['body']['html'])) ? $newsletter['body']['html'] : $newsletter['body']['text']
|
||||||
|
);
|
||||||
$this->removeFilters();
|
$this->removeFilters();
|
||||||
return ($result === true);
|
return ($result === true);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user