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

当您为时事通讯设计样式时,最好将文本包装在字体标签中。电子邮件客户端对其解析非常非常挑剔。您应该像 1990 年那样编码(带有表格)。

<font face="verdana" color="green">This is some text!</font>

字体标签:http ://www.w3schools.com/tags/tag_font.asp

于 2013-05-07T18:53:14.173 回答
1

由于安全、呈现或广告问题,许多内联样式已从电子邮件客户端(桌面和基于 Web 的)中删除。标签上的内联样式<div>很可能会被剥离。当前的最佳实践是使用<p>标签代替font-sizecolor样式。

有关更多详细信息,请查看 Campaign Monitor 上的CSS 支持电子邮件设计指南

于 2013-05-07T18:56:14.780 回答
0

您需要使用 css 内联,如下所示:

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

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

$email_body = stripslashes($_POST[divcontent]); 解决了我的问题。感谢所有的答复。

于 2013-05-08T16:41:49.467 回答