2

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 クライアントでフォーマットされていない理由を誰かが教えてくれたら、感謝します。

どうもありがとう、

ジブ

4

2 に答える 2

3

メールでは非常に単純なスタイル ルールしか使用できません。埋め込みスタイル シートではなく、インラインで指定する必要があります。ここで多くの情報を読むことができます:

http://www.anandgraves.com/html-email-guide

于 2010-01-24T20:23:09.460 に答える
1

メール クライアントがサポートするのは、せいぜいインライン スタイルと画像だけであると想定することをお勧めします。

于 2010-01-27T14:38:32.140 に答える