0

こんにちは、base64 エンコーディングを使用するのはこれが初めてです。

私がやろうとしていることはすべて問題ないようですが、電子メールを送信すると、電子メール内のすべてのタグ (プレーンテキスト) が表示され、HTML が正しく表示されません。

メールの送信方法の例を次に示します。

html>body>center>table  bgcolor="#012b2b" width="100%">tr>td align="center">img src="data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABGAAD...

この投稿のすべての < 最初のブラケットを削除しました。

私がこれまでに行ったことは次のとおりです。

$pathr = "http://www.aboutitgroup.com/dev/sbtours/files/6113/7059/1223/NewsLetter.jpg"

$sep = sha1(date('r', time()));

$attachment = file_get_contents($pathr);

$encoded = base64_encode($attachment);

$headers .= "MIME-Version: 1.0\r\n";

$headers .= " Content-Type: text/html;
            boundary=\"PHP-mixed-{$sep}\"";

$headers .= "Content-Transfer-Encoding: base64";

$subject = 'Newsletter';

$messages ="... img src="data:image/jpg;base64,'.$encoded.'"/>...';

メッセージが HTML ではなくプレーン テキストのみで表示される理由を説明してください。

受信した電子メール テキストをコピーして HTML ファイルとして保存すると、正しく表示されます。

ありがとうございました。

4

1 に答える 1