Web サイトから HTML メールを送信するために PEAR を使用しています。メールが送信されますが、Hotmail/Yahoo/GMail で表示すると CSS に従ってフォーマットされません。それらを Windows Live メールで表示すると、見栄えがよくなります。
より具体的には、CSS が考慮されていないようです (テキスト形式、背景画像など)。
メールを送信するために使用するコードは次のとおりです。
$headers = array('From' => $from, 'Subject' => $subject, 'To' => $to);
require_once 'Mail.php';
require_once 'Mail/mime.php';
$crlf = "\n";
$mime = new Mail_mime($crlf);
$mime->setTXTBody($plainText);
$mime->setHTMLBody($htmlText);
$body = $mime->get();
$headers = $mime->headers($headers);
$mail = Mail::factory("mail");
$send = $mail->send($to, $headers, $body);
if (PEAR::isError($send)) {
$mail_sent = 0;
}else {
$mail_sent = 1;
}
ヘッダーに Content-Type を含める必要がありますか? 試してみましたが、役に立ちませんでした。
$htmlText は、私の html を含む変数です。スタイルは HTML に埋め込まれます (CSS ファイルにはリンクされません)。
私の電子メールが Web クライアントでフォーマットされていない理由を誰かが教えてくれたら、感謝します。
どうもありがとう、
ジブ