2

HTMLメールメッセージをユーザーに送信するスクリプトを作成しました。ただし、Gmailではフォントの色が機能しないようです。最初のメッセージでは機能しますが、会話の次のメッセージはすべて紫色で表示されます。

file_get_Contents()を使用して.txtファイルから文字列を取得した場合にのみ発生します。クラス内から変数に文字列を入力するか、変数を使用せずにメッセージを直接入力すると、Gmailは通常どおりHTMLを表示します。他のウェブメールやメールクライアントで問題は見つかりませんでした。実際にメールを送信するために、phpmailerと通常のmail()関数の両方を試しました。

    $message = "<html><body><font face='Georgia, Times' color='red'>";
    $message .= "<p>Beste " . $this->name . "</p>";
    $message .= "<p>" . $parPersonal . "</p>";
    $message .= "<p>" . $parOne . "</p>";
    $message .= "<p>" . $parTwo . "</p>";
    $message .= "<p>" . $parThree . "</p></font></body></html>";

Gmailのスクリーンショット:

https://imgur.com/h8cLL

ちなみに、このスクリプトは通常、一度に1人の人に1通のメールしか送信しません。この問題は発生しないはずです。現在、テスト目的で自分のGmailアカウントにメールを送信しているだけです。しかし、将来の目的のためにこれをどのように修正できるのか非常に興味があります。

4

2 に答える 2

1

<font>これは、タグの不適切なネストが原因である可能性があります。

タグはインライン要素であり、タグ<font>などのブロック要素内にネストする必要があり<p>ます。

これは非常に厄介なHTMLにつながりますが、電子メールクライアントで使用されるかなり古風なhtmlエンジンではこれが多くなります。

最近では、要素にインラインスタイルを使用して、適切なカバレッジを得ることができます(ただし、個別の<style>ブロックはまだ十分にカバーされていません)。使用できるものについては、CampaignMonitorのこの優れたリソースを参照してください:http://www.campaignmonitor.com/css/

于 2012-05-28T19:19:41.010 に答える
0

<font>タグは使用しないでください。これが1995年のhtmlのスタイル設定方法です。代わりにインラインスタイルを使用してみてください。

<p style="color: red; font-family: Georgia, Times">

一般的な参考までに。多くの電子メールクライアントは、HTMLベースの電子メールからスタイルシート情報を取り除きます。色を付けたい特定の領域がある場合は、画像の使用を検討することをお勧めします。

とはいえ、CLICK MEリンクを強調することを目的としたインラインスタイリング/強力なタグの過度の使用は、電子メールメッセージの全体的なスパンスコアを増加させる可能性があることにも注意する必要があります。

于 2012-05-28T19:14:02.420 に答える