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;">© 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,因此对于垃圾邮件过滤器来说似乎是可疑的。如果您使用的是PHPsmail()
您不应该将其用于生产,因为它通常由垃圾邮件过滤器过滤。使用或库发送邮件。在PHPMailer中,您可以设置一个AltBody
,它可以包含纯文本的电子邮件内容。我使用的是SwiftMailer。您是否通过smtp发送邮件?您可以使用第二个参数调用setBody
,将HTML正文传递给它。我使用SwiftMaileraddPart
函数添加了一个可选的文本正文,它解决了如果您使用PHPsmail()
您不应该在生产中使用它,因为它通常由垃圾邮件过滤器过滤。使用或库发送邮件。在PHPMailer中,您可以设置一个AltBody
,它可以包含纯文本的电子邮件内容。我使用的是SwiftMailer。您是否通过smtp发送邮件?您可以使用第二个参数调用setBody
,将HTML正文传递给它。我使用SwiftMaileraddPart
函数添加了一个可选的文本主体,解决了这个问题