由于" HTML Obfuscation"电子邮件会转到垃圾邮件。

时间:2014-04-02 20:16:07

标签: php html-email swiftmailer email-spam

根据this link提供的垃圾邮件测试 - 自动“感谢您注册”电子邮件将进入垃圾邮件文件夹,因为:

SPAM: BODY: Message is 10% to 20% HTML obfuscation (-32)

但是,我找不到任何解释这意味着什么的东西 -

我正在使用SwiftMailer,这是我用来设置标题/添加HTML部分的相关代码:

[...]     $ body_txt = strip_tags($ body);     $ message = Swift_Message :: newInstance();

$typeone = $message -> getHeaders() -> get('MIME-Version');
$typeone -> setValue('1.0');

$typetwo = $message -> getHeaders() -> get('Content-Type');
$typetwo -> setValue('text/html');
$typetwo -> setParameter('charset', 'utf-8');

$message -> setSubject($subject)
         -> setFrom(array("courier@".TRIMMED_DOMAIN => HUMAN_READABLE_URL))  
         -> setTo($to)
         -> setBody($body_txt)
         -> addPart($body, 'text/html');
$transport = Swift_SmtpTransport::newInstance(TRIMMED_URL, 25)
                -> setUsername("courier@".TRIMMMED_URL)
                -> setPassword(MAILER_PASSWORD); 
$mailer = Swift_Mailer::newInstance($transport);
$result = $mailer -> send($message);

电子邮件本身省略了大量文字: (也许我们使用了太多的HTML?)

<!doctype html>
<html>
    <head>
        <title>Thank you for Joining [the website]</title>
    </head>
    <body>
        <div>
            <h1> Welcome!</h1>
            <p>
                Thank you for joining [our] community.
            </p>
            <h2>%s</h2><!-- this gets run through sprintf() and ultimately winds up being an <a> -->
            %s
            <p>
                Our goal is to connect you [ blah, blah, blah ]
            </p>
            <ul>
                <li>
                    [each of these contains a <strong> tag]
                </li>
                <li>[text omitted..] 
                </li>
                <li>
                </li>
                <li>
            </li>
                <li>
                </li>
            </ul>
            <p>
                    If you have any questions, comments, concerns, or suggestions,
 feel free to send us a message on our Contact Page.



            We sincerely appreciate your feedback.

                Constructive input from our community members helps us continually improve the [ ] experience.

                Thank you again for joining [our] community.


            </p>
            <p>
                Sincerely,
            </p>
            <p>
                <em>The [...] Team.</em>
            </p>

        </div>
    </body>
</html>

因此,如果有人能够就触发此HTML obfuscation标志的内容向我提供任何见解,那么我将非常感激。

编辑:


另外,我忘了提到查看电子邮件来源显示了一堆=09

=09=09=09=09We sincerely ap=
preciate your feedback.

=09=09=09=09Constructive input from our commun=
ity members helps us continually improve the[]experience.=

1 个答案:

答案 0 :(得分:4)

根据您收到的消息判断他们只是通过SpamAssassin运行它,SpamAssassin在wiki page

上有针对该特定警告的条目

并解释它是因为

  

该消息包含带有混淆文本的HTML,例如ASCII字符的不必要的十六进制编码。这可能是为了避免基于文本的过滤器

虽然我无法看到您粘贴的电子邮件部分触发的任何原因,但是在省略的部分中可能有什么相关内容? 希望这会有所帮助。

编辑原始帖子后编辑附加信息:

你看到的= 09个字符代表ascii中的标签。

一般来说,HTML电子邮件本身就是一个具有挑战性的野兽,我可以提供的大部分知识都超出了这个具体问题的范围,但提供了一些一般的额外帮助,我希望这些帮助适用于你的情况:

为获得最大兼容性,请始终使用以下标题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width" />

这是因为他们的网络界面中的某些电子邮件客户端和/或提供商实际上会剥离您的文档类型并将其替换为您在上面看到的文档类型 - 这样您就可以对其进行优化。头部中的元标记强制编码为utf-8,这总是有用的。

尝试在您的代码中至少没有任何空格 - 如上所述=09您所看到的是由于您正在使用的标签引起的。

如果您需要分隔段落,请关闭</p>并打开一个新段落。

例如:

<p>lorem ipsum whateverrrrrrrrr</p>
<br>
<p>another paragraph</p>

不要试图用空白模拟垂直间距,你会遇到很多麻烦。 (不要在<br>内使用<p>来强行休息,除非您希望gmail发出以下文字 purple [这不是笑话])