1

ajax呼び出しを介してhtmlからphpにコンテンツを投稿しています。その投稿内容をHTMLメールで送信したい。すべてのインラインCSSを含む投稿データをエコーし​​ました。しかし、メールでは、css 効果のない html コンテンツしか表示されません。

私のhtmlコードには、コンテンツ編集機能を備えた静的コンテンツが含まれます。

           <form id="form"name="form" method="post" action="xyz.php"  onsubmit="this.divcontent.value =    document.getElementById('email_body').innerHTML;">
           <input type="hidden" name="divcontent" id="divcontent" value="" />
           <div id="email_body" class="field" role="textbox" contenteditable="true">
           <div style="....">......</div>
           <a>.....</a>
           <div style="....">....</div>
           <div style="....">....</div>
           </div>
           <div class="send_mail"><button type="submit">Send</button></div>
           </form>

私のajax呼び出し

             $.ajax({
                        type : 'POST',
                        url : $("#form").attr('action'),
                        data : fields,
                        dataType : 'json',
                        success: function() {......}....});

私のphpコードはcss効果なしでメールを送信しています。

        <?
            $email_body = $_POST[divcontent];
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";




                        //create email headers
                        $headers .= 'From: '.$email_from."\r\n".
                        'Reply-To: '.$emailid_from."\r\n" .
                        'X-Mailer: PHP/' . phpversion();
                        @mail($email_to, $email_subject, $email_body, $headers); 
               $array = array('error' => false, 'message' => $message);
               echo json_encode($array);
              echo json_encode($array);
    ?>


any suggestions?
4

4 に答える 4

1

セキュリティ、レンダリング、または広告の問題により、多くのインライン スタイルが電子メール クライアント (デスクトップおよび Web ベースの両方) から削除されています。タグのインライン スタイルは<div>削除される可能性が高くなります。現在のベスト プラクティスでは、スタイル<p>の代わりにタグを使用するように言われています。font-sizecolor

詳細については、Campaign MonitorのCSS サポート電子メール デザインのガイドラインを確認してください。

于 2013-05-07T18:56:14.780 に答える
0

$email_body = stripslashes($_POST[divcontent]); 私の問題を解決しました。すべての返信に感謝します。

于 2013-05-08T16:41:49.467 に答える
0

次のように、css インラインを使用する必要があります。

<div style="width:300px; margin: 10;">Content!</div>

<font style="font-size:14px">Text</font>
于 2013-05-07T18:56:35.387 に答える