I have some basic html and some css but for some reason gmail puts 3D infornt the 'text/css'
Code sample
$message = "
<style type='text/css'>
#main {border:1px solid red;}
</style>
<div id='main'>some text</div>
";
But when I view the original send to the gmail
<style type=3D'text/css'>
and maybe thats why the mail is not styled. I am using the swift mailer
// also in html
<div id=3D'main'>
// swift mailer
$type = $message->getHeaders()->get('Content-Type');
$type->setValue('text/html');
$type->setParameter('charset', 'utf-8');
From what I know gmail doesnt support style tag in head or in body. I use style attributes for elements when sending email.
to let swift mailer send message in HTML format, even for gmail , because swift mailer escape html tags to its represented characters , so you need to write these lines this way:
$message = (new Swift_Message('Message Subject HERE '))
->setFrom(array('sender email' => 'Sender Name')) // can be $_POST['email'] etc...
->setTo(array('reciever email' => 'Receiver Name')) // your email / multiple supported.
->setEncoder( new Swift_Mime_ContentEncoder_PlainContentEncoder('8bit'))
->setBody($template, "text/html");
after that every thing should work fine the trick here is to till swift mailer to use Swift mailler MimeType class and point to the correct encoding . you can check here for more information link here
Swift Mailer is trying to escape " to \". You have to use setEncoder() before setBody():
$message->setEncoder(Swift_Encoding::get8BitEncoding());
$message->setBody($body, "text/html");
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