web-dev-qa-db-ja.com

電子メールの本文としてのHTMLとプレーンテキスト

Swift_Message を作成する場合、プレーンテキストとHTMLバージョンの両方の電子メールを作成できます。 1つをボディとして設定し、もう1つをパーツとして追加します。

HTMLバージョンを本文として設定し、プレーンテキストを一部として設定した場合、またはその逆の場合の違いは何ですか?

$html_as_body = Swift_Message::newInstance()
    ->setSubject($subject)
    ->setBody($html, 'text/html')
    ->addPart($plain, 'text/plain');

$plain_as_body = Swift_Message::newInstance()
    ->setSubject($subject)
    ->setBody($plain, 'text/plain')
    ->addPart($html, 'text/html');

違いは、メールリーダーなどでどのような違いがあるのでしょうか。

23
Svish

Swift_Messageのみがメール作成の公式RFCに準拠している場合、違いはありません。RFCは、プレーンテキストメッセージをデフォルト(最初、本文)、最終的にはHTMLバージョンに厳密に設定します。

いくつかのテストを行います。つまり、両方の構成で同じ電子メールを送信し、受信クライアントでメッセージの送信元を確認します。

違いが見られる場合は、IMHOでは必ずプレーンテキストの本文(最初)とHTMLバージョンを最後に送信する必要があります。今日でも多くの単純なメールクライアントがあり、HTMLバージョンを単純に無視/正しく認識しません。したがって、最初にそれを置くと、メッセージ全体が受信者にとって読めなくなる可能性があります。

14
trejder