Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 修复电子邮件模板上的MIME\u HTML\u_Php_Html - Fatal编程技术网

Php 修复电子邮件模板上的MIME\u HTML\u

Php 修复电子邮件模板上的MIME\u HTML\u,php,html,Php,Html,我正在尝试修复MIME\u HTML\u ONLY以通过一些垃圾邮件过滤器,电子邮件是从一个php项目发送的,我使用此模板 <html> <table width="100%" style="font-family: Verdana; color: #707070" cellpadding="0" cellspacing="0"> <tr> <td> <t

我正在尝试修复
MIME\u HTML\u ONLY
以通过一些垃圾邮件过滤器,电子邮件是从一个php项目发送的,我使用此模板

<html>    
    <table width="100%" style="font-family: Verdana; color: #707070" cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <table width="643" align="center">
                    <tr style="text-align: center">
                        <td style="padding: 0 20px;">
                            {% block top %}{% endblock %}
                        </td>
                    </tr>
                    <tr style="background-color: #005aff; text-align: center;">
                        <td>
                            <img src="https://www.mydomain/dist/imgs/cabecera.png"  atl="cabecera-encueston" style="width: 643px; height: 100px;">
                        </td>
                    </tr>
                    <tr>
                        <td style="padding: 0 20px;">
                            {% block content %}{% endblock %}
                        </td>
                    </tr>
                    {% if external is defined %}
                    <tr>
                        <td style="padding: 0 20px;">
                            <p style="text-align: left; font-size: 14px; color: #707070;  padding: 20px 20px 0; margin: 0; font-family: Arial, Helvetica, sans-serif;">
                                Un saludo,<br>
                            </p>
                            <img src="https://www.mydomain/dist/imgs/firma.png" atl="firma" style="width: 643px; height: 100px">
                        </td>
                    </tr>
                    <tr>
                        <td style="padding: 0 20px;">
                            <img src="https://www.mydomain/dist/imgs/siguenos.png" alt="siguenos" style="width: 643px; height: 56px">
                        </td>
                    </tr>
                    {% endif %}
                    <tr style="color: #ccc; text-align: center;">
                        <td style="padding: 0 20px; text-alig: center;">
                            {% block footer %}{% endblock %}
                            <p style="font-size: 12px;">&copy; Encuestón S.L.</p>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
<html>

{%block top%}{%endblock%}
{%block content%}{%endblock%}
{%如果定义了外部%}

联合国萨卢多,

{%endif%} {%block-footer%}{%endblock%} 复制(&p style=“font-size:12px;”;Encueston S.L

,,
我不确定是否只解决
MIME\u HTML\u的问题,我必须改变的解决方案是“您还应该包含邮件的文本版本(文本/纯文本)”,但如何解决呢?

问题不在于您的HTML,而在于您缺少文本替代品。

您应该构建电子邮件的文本表示形式,并将其添加为备选方案

然后,将其提供给您的邮寄者:

  • symfony的SwiftMailer:您需要将
    addPart
    与邮件的文本表示一起使用
  • 使用PHPMailer,它是邮件的
    AltBody
    部分
发送邮件时,您可以指定以HTML或文本形式发送。
创建电子邮件时,所有电子邮件都只是文本,但邮件发送者添加了以HTML格式发送电子邮件的功能,以便您可以添加粗体、斜体、图像等

为了确保每个人都能阅读邮件,同一封邮件分为两部分:HTML和文本,以便邮件程序可以显示其支持的格式

现在快进一步,所有的邮件程序都支持HTML,而传统的文本部分实际上并不需要。对于垃圾邮件发送者来说,发送数百万个字符更少的垃圾邮件是一个巨大的带宽节约。因此,他们删除了文本部分,并且可以通过这种差异检测垃圾邮件


MIME\u HTML\u ONLY
源于这样一个事实:您的邮件中只有HTML,因此垃圾邮件过滤器似乎可疑。

问题不在于您的HTML,而在于您缺少文本替代方案。

您应该构建电子邮件的文本表示形式,并将其添加为备选方案

然后,将其提供给您的邮寄者:

  • symfony的SwiftMailer:您需要将
    addPart
    与邮件的文本表示一起使用
  • 使用PHPMailer,它是邮件的
    AltBody
    部分
发送邮件时,您可以指定以HTML或文本形式发送。
创建电子邮件时,所有电子邮件都只是文本,但邮件发送者添加了以HTML格式发送电子邮件的功能,以便您可以添加粗体、斜体、图像等

为了确保每个人都能阅读邮件,同一封邮件分为两部分:HTML和文本,以便邮件程序可以显示其支持的格式

现在快进一步,所有的邮件程序都支持HTML,而传统的文本部分实际上并不需要。对于垃圾邮件发送者来说,发送数百万个字符更少的垃圾邮件是一个巨大的带宽节约。因此,他们删除了文本部分,并且可以通过这种差异检测垃圾邮件


MIME\u HTML\u ONLY
源于这样一个事实,即您的邮件中只有HTML,因此对于垃圾邮件过滤器来说似乎是可疑的。

如果您使用的是PHPs
mail()
您不应该将其用于生产,因为它通常由垃圾邮件过滤器过滤。使用或库发送邮件。在PHPMailer中,您可以设置一个
AltBody
,它可以包含纯文本的电子邮件内容。我使用的是SwiftMailer。您是否通过smtp发送邮件?您可以使用第二个参数调用
setBody
,将HTML正文传递给它。我使用SwiftMailer
addPart
函数添加了一个可选的文本正文,它解决了如果您使用PHPs
mail()
您不应该在生产中使用它,因为它通常由垃圾邮件过滤器过滤。使用或库发送邮件。在PHPMailer中,您可以设置一个
AltBody
,它可以包含纯文本的电子邮件内容。我使用的是SwiftMailer。您是否通过smtp发送邮件?您可以使用第二个参数调用
setBody
,将HTML正文传递给它。我使用SwiftMailer
addPart
函数添加了一个可选的文本主体,解决了这个问题