PHPMailer и таблицы стилей форматирования - PullRequest
0 голосов
/ 20 июля 2011

Я использую PHPMailer для автоматической отправки подтверждения заказа в виде письма в формате HTML.Все работает, как ожидалось, за исключением того, что форматирование подтверждения не является правильным.Я включил свою таблицу стилей в строку «AddAttachment», которая, кажется, зафиксировала заголовок формы подтверждения, но остальная часть формы все еще не верна.Кто-нибудь сталкивался с такой ситуацией раньше и знает, что мне нужно сделать, чтобы это исправить?Мой отредактированный программный код следует на случай, если он поможет!

<?php

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->SMTPDebug = 0;
$mail->IsSMTP();  // telling the class to use SMTP
$mail->SMTPAuth = true;

$mail->Port       = 25;                  // set the SMTP port
$mail->Host     = "<<smtp server>>"; // SMTP server
$mail->Username = "<<username>>";
$mail->Password = "<<password>>";

$mail->From     = "<<email address>>";
$mail->FromName = "<<name>>";
$mail->AddAddress("<<email address>>");

$mail->Subject  = "Acknowledgement Form";
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->IsHTML(true);

$mail->Body = file_get_contents('<<acknowledgement form page>>');
$mail->AddAttachment('printer.css'); // attach style sheet

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>

1 Ответ

2 голосов
/ 22 июля 2011

Вы не должны работать с внешними CSS-файлами в электронных письмах ... Не многие почтовые клиенты могут справиться с этим, и не все ваши клиенты используют почтовые клиенты, такие как Outlook или Thunderbird.Вместо этого вы должны игнорировать ваш html-код "стиль 90-х": -P

например <p style="width: 200px; text-align: center;">

...