6

私は次のコードを持っています:

    $subject = "Test Email";
    $from = "noreply@bob.com";
    ini_set("sendmail_from", $from);
$message = "<html><body bgcolor=\"#DCEEFC\"> 
                Hello<br><br>
                This is a <b>test</b> email.
                <br><br><hr>
                <a href=\"\">Click Here</a>     
                <br><br><hr>
                <br><br>
                Thank you for your time,<br><br>
            </body></html>";

    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html\r\n"; 
    $headers .= "From: " . $from . "\r\n";
    mail($mail, $subject, $message, $headers);

ただし、自分宛てにメールを送信すると、Outlookにすべてのコードが表示されます。他の人に送信すると、HTMLが表示されます。ホットメールに送信すると、HTMLが表示されます。

これは私の見通し(2007)の問題ですか?もしそうなら、それは何ですか、それとも正しく表示されることを保証するために電子メールで何かをすることができますか?

助けてください!

4

3 に答える 3

8

私は問題を見つけました:

GoDaddyWebベースのメールでHTMLメールが正しく表示されない

かわった:

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n"; 
$headers .= "From: " . $from . "\r\n";

に:

$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers .= "From: Site<$from>" . PHP_EOL;

助けてくれてありがとう!:)

于 2012-08-01T11:17:14.620 に答える
2

ヘッダーを並べ替えてみてください。しばらく前に同じ問題が発生したことを覚えています。次のヘッダーを使用した後、問題は解決しました。

    $headers = "From: " .$from. "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
    $headers .= "Content-Transfer-Encoding: 8bit\r\n";

すぐに使えるphpメーラークラスを使用することをお勧めします-それは人生をはるかに楽にします。

于 2012-08-01T11:16:13.397 に答える
1

送信される形式に関係なく、メッセージをプレーンテキストで表示するようにOutlookを設定しているようです。

Outlookの設定に移動し、メッセージを到着した形式で表示するように変更します。

于 2012-08-01T11:08:47.910 に答える