Hi folks,
I'm trying to send a notification email (HTML), after an enquiry/contact form is submitted. There seems to be an issue with the Email Function.
Here is a screenshot of the issue I'm experiencing (I've hidden my email address, and other identifying/sensitive information.):
What I've learned/tried so far:
- The email is being sent as a "multi-part" message. It sends some of it as plain text and some of it as HTML. (See below for code that fires the email function)
- I have set the character type in the email template.
- I have tried sending an HTML email from the standard php mail() function, and HTML content is sending fine. Which leads me to believe it may be something to do with the template rendering
Here is the raw source from the email message when I use the Silverstripe function:
Return-Path: <REMOVED FOR PRIVACY>
Delivered-To: REMOVED FOR PRIVACY
Received: (qmail 17022 invoked by uid 399); 17 Nov 2016 01:10:11 -0000
Received: from unknown (HELO nix36.qnetau.com) (202.146.215.18)
by REMOVED FOR PRIVACY with ESMTP; 17 Nov 2016 01:10:11 -0000
X-Originating-IP: 202.146.215.18
Received: by REMOVED FOR PRIVACY (Postfix, from userid 642)
id 63D78B3A; Thu, 17 Nov 2016 01:10:11 +0000 (UTC)
To: REMOVED FOR PRIVACY
Subject: =?UTF-8?B??=
X-PHP-Originating-Script: 642:Mailer.php
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_176699263819"
Content-Transfer-Encoding: 7bit
From: REMOVED FOR PRIVACY
X-Mailer: SilverStripe Mailer - version 2006.06.21 (Sent from "REMOVED FOR PRIVACY")
X-Priority: 3
X-SilverStripeSite: mysite
Message-Id: <20161117011011.63D78B3A@REMOVED FOR PRIVACY>
Date: Thu, 17 Nov 2016 01:10:11 +0000 (UTC)
This is a multi-part message in MIME format.
------=_NextPart_176699263819
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
TESTING BASE EMAIL TEMPLATE
------=_NextPart_176699263819
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org=
/TR/xhtml1/DTD/xhtml1-strict.dtd">=0A<html xmlns=3D"http://www.w3.org/1999/=
xhtml" xmlns=3D"http://www.w3.org/1999/xhtml">=0A <head>=0A <meta=
http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" />=0A =
<meta name=3D"viewport" content=3D"width=3Ddevice-width" />=0A </h=
ead>=0A <body style=3D"width: 100% !important; -webkit-text-size-adjust:=
100%; -ms-text-size-adjust: 100%; color: #6c6e6d; font-family: 'Helvetica'=
, 'Arial', sans-serif; font-weight: normal; text-align: left; line-height: =
16px; font-size: 12px; background: #dbdbdb; margin: 0; padding: 0;" bgcolor=
=3D"#dbdbdb">=0A <style type=3D"text/css">=0A a:hover {=
=0A color: #2795b6 !important;=0A }=0A =
a:active {=0A color: #2795b6 !important;=0A }=0A=
a:visited {=0A color: #2ba6cb !important;=0A =
}=0A h1 a:active {=0A color: #2ba6cb !imp=
ortant;=0A }=0A h2 a:active {=0A color=
: #2ba6cb !important;=0A }=0A h3 a:active {=0A =
color: #2ba6cb !important;=0A }=0A h4 a:acti=
ve {=0A color: #2ba6cb !important;=0A }=0A =
h5 a:active {=0A color: #2ba6cb !important;=0A =
}=0A h6 a:active {=0A color: #2ba6cb !importan=
t;=0A }=0A h1 a:visited {=0A color: #2=
ba6cb !important;=0A }=0A h2 a:visited {=0A =
color: #2ba6cb !important;=0A }=0A h3 a:visited=
{=0A color: #2ba6cb !important;=0A }=0A =
h4 a:visited {=0A color: #2ba6cb !important;=0A =
}=0A h5 a:visited {=0A color: #2ba6cb !importan=
t;=0A }=0A h6 a:visited {=0A color: #2=
ba6cb !important;=0A }=0A table.button:hover td {=0A =
background: #2795b6 !important;=0A }=0A =
table.button:visited td {=0A background: #2795b6 !importan=
t;=0A }=0A table.button:active td {=0A =
background: #2795b6 !important;=0A }=0A table.button=
:hover td a {=0A color: #fff !important;=0A }=0A =
table.button:visited td a {=0A color: #fff !impor=
tant;=0A }=0A table.button:active td a {=0A =
color: #fff !important;=0A }=0A table.button:ho=
ver td {=0A background: #2795b6 !important;=0A }=
=0A table.tiny-button:hover td {=0A background: #=
2795b6 !important;=0A }=0A table.small-button:hover t=
d {=0A background: #2795b6 !important;=0A }=0A =
table.medium-button:hover td {=0A background: #2795=
b6 !important;=0A }=0A table.large-button:hover td {=
=0A background: #2795b6 !important;=0A }=0A =
table.button:hover td a {=0A color: #ffffff !important=
;=0A }=0A table.button:active td a {=0A =
color: #ffffff !important;=0A }=0A table.button td =
a:visited {=0A color: #ffffff !important;=0A }=0A=
table.tiny-button:hover td a {=0A color: #ffffff=
!important;=0A }=0A table.tiny-button:active td a {=
=0A color: #ffffff !important;=0A }=0A =
table.tiny-button td a:visited {=0A color: #ffffff !importa=
nt;=0A }=0A table.small-button:hover td a {=0A =
color: #ffffff !important;=0A }=0A table.sma=
ll-button:active td a {=0A color: #ffffff !important;=0A =
}=0A table.small-button td a:visited {=0A =
color: #ffffff !important;=0A }=0A table.medium-butt=
on:hover td a {=0A color: #ffffff !important;=0A =
}=0A table.medium-button:active td a {=0A color: =
#ffffff !important;=0A }=0A table.medium-button td a:=
visited {=0A color: #ffffff !important;=0A }=0A =
table.large-button:hover td a {=0A color: #ffffff =
!important;=0A }=0A table.large-button:active td a {=
=0A color: #ffffff !important;=0A }=0A =
table.large-button td a:visited {=0A color: #ffffff !import=
ant;=0A }=0A table.secondary:hover td {=0A =
background: #d0d0d0 !important; color: #555;=0A }=0A =
table.secondary:hover td a {=0A color: #555 !important;=
=0A }=0A table.secondary td a:visited {=0A =
color: #555 !important;=0A }=0A table.secondary:=
active td a {=0A color: #555 !important;=0A }=0A =
table.success:hover td {=0A background: #457a1a !=
important;=0A }=0A table.alert:hover td {=0A =
background: #970b0e !important;=0A }=0A a:hove=
r {=0A color: black !important;=0A }=0A =
@media only screen and (max-width: 600px) {=0A table[class=
=3D"body"] img {=0A width: auto !important; height: auto=
!important;=0A }=0A table[class=3D"body"] ce=
nter {=0A min-width: 0 !important;=0A }=
=0A table[class=3D"body"] .container {=0A =
width: 95% !important;=0A }=0A table[class=
=3D"body"] .row {=0A width: 100% !important; display: bl=
ock !important;=0A }=0A table[class=3D"body"]=
.wrapper {=0A display: block !important; padding-right:=
0 !important;=0A }=0A table[class=3D"body"] =
.columns {=0A table-layout: fixed !important;=0A =
float: none !important;=0A width: 100% !impo=
rtant;=0A padding-right: 0px !important;=0A =
padding-left: 0px !important;=0A display: block !=
important;=0A }=0A table[class=3D"body"] .col=
umn {=0A table-layout: fixed !important; float: none !im=
portant; width: 100% !important; padding-right: 0px !important; padding-lef=
t: 0px !important; display: block !important;=0A }=0A =
table[class=3D"body"] .wrapper.first .columns {=0A =
display: table !important;=0A }=0A table[=
class=3D"body"] .wrapper.first .column {=0A display: tab=
le !important;=0A }=0A table[class=3D"body"] =
table.columns td {=0A width: 100% !important;=0A =
}=0A table[class=3D"body"] table.column td {=0A =
width: 100% !important;=0A }=0A =
table[class=3D"body"] td.offset-by-one {=0A padding-le=
ft: 0 !important;=0A }=0A table[class=3D"body=
"] td.offset-by-two {=0A padding-left: 0 !important;=0A =
}=0A table[class=3D"body"] td.offset-by-three=
{=0A padding-left: 0 !important;=0A }=0A=
table[class=3D"body"] td.offset-by-four {=0A =
padding-left: 0 !important;=0A }=0A tabl=
e[class=3D"body"] td.offset-by-five {=0A padding-left: 0=
!important;=0A }=0A table[class=3D"body"] td=
.offset-by-six {=0A padding-left: 0 !important;=0A =
}=0A table[class=3D"body"] td.offset-by-seven {=0A=
padding-left: 0 !important;=0A }=0A =
table[class=3D"body"] td.offset-by-eight {=0A =
padding-left: 0 !important;=0A }=0A table[cl=
ass=3D"body"] td.offset-by-nine {=0A padding-left: 0 !im=
portant;=0A }=0A table[class=3D"body"] td.off=
set-by-ten {=0A padding-left: 0 !important;=0A =
}=0A table[class=3D"body"] td.offset-by-eleven {=0A =
padding-left: 0 !important;=0A }=0A =
table[class=3D"body"] .expander {=0A width: 9999=
px !important;=0A }=0A table[class=3D"body"] =
.right-text-pad {=0A padding-left: 10px !important;=0A =
}=0A table[class=3D"body"] .text-pad-right {=
=0A padding-left: 10px !important;=0A }=
=0A table[class=3D"body"] .left-text-pad {=0A =
padding-right: 10px !important;=0A }=0A =
table[class=3D"body"] .text-pad-left {=0A padding-right:=
10px !important;=0A }=0A table[class=3D"body=
"] .hide-for-small {=0A display: none !important;=0A =
}=0A table[class=3D"body"] .show-for-desktop {=
=0A display: none !important;=0A }=0A =
table[class=3D"body"] .show-for-small {=0A d=
isplay: inherit !important;=0A }=0A table[cla=
ss=3D"body"] .hide-for-desktop {=0A display: inherit !im=
portant;=0A }=0A table[class=3D"body"] .right=
-text-pad {=0A padding-left: 10px !important;=0A =
}=0A table[class=3D"body"] .left-text-pad {=0A =
padding-right: 10px !important;=0A }=0A =
}=0A </style>=0A =0A <table class=3D"container" s=
tyle=3D"border-spacing: 0; border-collapse: collapse; vertical-align: top; =
text-align: inherit; width: 580px; background: white; margin: 0 auto; paddi=
ng: 0;" bgcolor=3D"white">=0A <tr style=3D"vertical-align: top; =
text-align: left; padding: 0;" align=3D"left">=0A <td style=
=3D"word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyph=
ens: auto; border-collapse: collapse !important; vertical-align: top; text-=
align: left; padding: 0;" align=3D"left" valign=3D"top">=0A=0A =
<table class=3D"row" style=3D"border-spacing: 0; border-collapse: co=
llapse; vertical-align: top; text-align: left; width: 100%; position: relat=
ive; display: block; padding: 0px;">=0A <tr style=3D=
"vertical-align: top; text-align: left; padding: 0;" align=3D"left">=0A=0A =
<td class=3D"wrapper" style=3D"word-break: break=
-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-col=
lapse: collapse !important; vertical-align: top; text-align: left; position=
: relative; padding: 10px;" align=3D"left" valign=3D"top">=0A=0A =
<table class=3D"twelve columns" style=3D"border-spacin=
g: 0; border-collapse: collapse; vertical-align: top; text-align: left; wid=
th: 580px; margin: 0 auto; padding: 0;">=0A =
<tr style=3D"vertical-align: top; text-align: left; padding: 0;" align=
=3D"left">=0A <td class=3D"twelve su=
b-columns" align=3D"center" style=3D"word-break: break-word; -webkit-hyphen=
s: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !impo=
rtant; vertical-align: top; text-align: left; min-width: 0px; width: 100% !=
important; padding: 0px 10px 10px 0px;" valign=3D"top">=0A =
<div style=3D"text-align: center;" align=3D"cent=
er">=0A <img src=3D"http://=
REMOVED FOR PRIVACY/mysite/images/email/logo.png" style=3D"float: none=
; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; wi=
dth: auto; max-width: 100%; clear: both; display: block; margin: 0 auto;" a=
lign=3D"none" />=0A </div>=0A =
</td>=0A =
</tr>=0A </table>=0A=0A =
<hr style=3D"color: #d9d9d9; height: 1px; background: #d9d=
9d9; border: none;" />=0A=0A <table class=3D=
"twelve columns" style=3D"border-spacing: 0; border-collapse: collapse; ver=
tical-align: top; text-align: left; width: 580px; margin: 0 auto; padding: =
0;">=0A <tr style=3D"vertical-align: top=
; text-align: left; padding: 0;" align=3D"left">=0A =
<td style=3D"word-break: break-word; -webkit-hyphens: auto;=
-moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; v=
ertical-align: top; text-align: left; padding: 0px 0px 10px;" align=3D"left=
" valign=3D"top">=0A <!-- EMAIL =
CONTENT HERE -->=0A </td>=0A =
<td class=3D"expander" style=3D"word-break:=
break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; bord=
er-collapse: collapse !important; vertical-align: top; text-align: left; vi=
sibility: hidden; width: 0px; padding: 0;" align=3D"left" valign=3D"top">=
=0A =0A =
</td>=0A </tr>=0A =
</table>=0A </td>=0A=0A =
</tr>=0A </table>=0A=0A =
<table class=3D"row" style=3D"border-spacing: 0; border-collapse:=
collapse; vertical-align: top; text-align: left; width: 100%; position: re=
lative; display: block; padding: 0px;">=0A <tr style=
=3D"vertical-align: top; text-align: left; padding: 0;" align=3D"left">=0A =
<td class=3D"wrapper last" style=3D"word-break: =
break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; borde=
r-collapse: collapse !important; vertical-align: top; text-align: left; pos=
ition: relative; padding: 10px 0px 10px 10px;" align=3D"left" valign=3D"top=
">=0A=0A <table class=3D"twelve columns" sty=
le=3D"border-spacing: 0; border-collapse: collapse; vertical-align: top; te=
xt-align: left; width: 580px; margin: 0 auto; padding: 0;">=0A =
<tr style=3D"vertical-align: top; text-align: left; =
padding: 0;" align=3D"left">=0A <td =
align=3D"center" style=3D"word-break: break-word; -webkit-hyphens: auto; -m=
oz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vert=
ical-align: top; text-align: left; padding: 0px 0px 10px;" valign=3D"top">=
=0A <center style=3D"width: 100%=
; min-width: 580px;">=0A <p>=
TESTING BASE EMAIL TEMPLATE</p>=0A =
</center>=0A </td>=0A =
<td class=3D"expander" style=3D"word-break: bre=
ak-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-c=
ollapse: collapse !important; vertical-align: top; text-align: left; visibi=
lity: hidden; width: 0px; padding: 0;" align=3D"left" valign=3D"top">=0A =
=0A =
</td>=0A </tr>=0A =
</table>=0A </td>=0A =
</tr>=0A </table>=0A <!=
-- container end below -->=0A </td>=0A </tr>=0A =
</table>=0A </body>=0A</html>=0A
------=_NextPart_176699263819--
Here is the code I'm using to send the email:
$email = new Email();
$email->setTo($to);
$email->setFrom($data['Email']);
$email->setSubject($subject);
//set template
$email->setTemplate('Base');
// Send Email
$email->send();
I've contacted my hosting provider regarding the email and they said that it's not a problem from their end.
And seeing as the email sends via the PHP mail() function fine, I'm assuming it's not a problem from their end.
Can anyone suggest what I can try to bug fix this problem?