Reputation: 127
I've made a script using PHPMailer that sends email using Mandrill. I am trying to send a html template that is made with bootstrap, but when the mail comes, the CSS doesn't work.
I tried to get the html content with file_get_contents()
function but it doesn't get the bootstrap stylesheet. Any ideas?
Here is the script
<?php
include "../phpmailer/PHPMailerAutoload.php";
include "../phpmailer/class.phpmailer.php";
error_reporting(E_ALL^E_NOTICE);
if (!isset($_POST['Submit']) |$_POST['Submit'] != 'Trimite') {
$adress = '';
} else {
$adress = $_POST['adress'];
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.mandrillapp.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'username';
$mail->Password = 'key';
$mail->SMTPSecure = 'tsl';
// $mail->SMTPDebug = 1;
$mail->From = '[email protected]';
$mail->FromName = 'Name';
$mail->AddAddress($adress);
$mail->IsHTML(true);
$mail->Subject = 'Subject';
$mail->Body = file_get_contents( 'process_completed.html' );
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
}
?>
Upvotes: 0
Views: 1194
Reputation: 6235
Many email clients don't render CSS that's in the head of email HTML. You'll either need to inline the CSS before you submit the email to Mandrill, or use Mandrill's CSS inlining option.
Upvotes: 0
Reputation: 1
If you are using any external css files in the email template will not work.
Use only inline css in email template.
Upvotes: 0
Reputation: 348
$mail->SMTPSecure = 'tsl';
should probably be:
$mail->SMTPSecure = 'tls';
Upvotes: 2