4

iPhone の場合、マルチパート メッセージが gmail で正しく表示されません。私は持っている:

$message->setBody($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');

私も使用しました:

$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');

しかし、どちらの場合も、iPhone から gmail を読み取ると、「MIME 添付ファイル」としてメッセージが表示されます... HTML がなく、MIME 添付ファイルを読み取ることさえできません。テキスト部分を追加しなければ、メッセージは正常に表示されます...

何か案は?

4

3 に答える 3

8

この投稿がかなり古いことは知っていますが、私のように誰かがこれを Google で見つけた場合、上記の問題は地雷の種類の定義です。次のように、正しい MIME タイプは text/plain であり、plain/text ではありません。

$message->addPart($this->text_body, 'text/plain');

私のために働いた最終バージョンは次のようになります:

$message->setBody($this->body, 'multipart/alternative');
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'text/plain');
于 2012-10-31T17:52:07.413 に答える
6

あなたがする必要があります:

$message->setBody($your_plain_text_email_here);
$message->addPart($your_html_email_here, 'text/html');

まったく同じ質問がありましたが、これは Mac メール アプリ、iPhone メール アプリ、および Horde (Web メール、プレーン テキストとして表示されました) で機能しました。

于 2012-05-15T13:45:45.533 に答える
1

問題が発生した理由を説明するには、メールのソース コードを確認する必要があります。

$message->setBody($this->body, 'multipart/alternative');
$message->addPart($this->body, 'text/html');
$message->addPart($this->text_body, 'plain/text');

私がこれまで見てきた限りでは、RFC 規則を尊重する電子メール クラスは存在しません。私は自分自身を構築し、SMTP サーバーも構築して、mail() 経由ではなく直接電子メールを送信するようにしました。

于 2012-05-14T19:13:28.907 に答える