【问题标题】:Python: Mail sent by script is marked as spam by GmailPython:脚本发送的邮件被Gmail标记为垃圾邮件
【发布时间】:2012-05-13 19:16:41
【问题描述】:

我们有一个 python 脚本,它每天将邮件发送到一个 xml 地址列表。这些邮件始终被 Gmail 标记为垃圾邮件。代码如下:

            email_body =  '<html><body><div style="text-align: center; font-family: serif; font-size: 15px;"><br/><br/>@<br/><br/>' + text_splited[i] + '<br/><br/>@<br/><br/><a href="http://anemailstory.net/"><i>Tr@ces</i></a><br/><br/> - <br/><br/><a href="http://anemailstory.net/unsubscribe.html">unsubscribe</a><br/><br/></div></body></html>'  
#text corresponding to that subcription date    

            # email     
            msg = MIMEMultipart('alternative') #Create Multipart msg (allows html)
            msg['To'] = email.utils.formataddr(('Recipient', 'readers@traces.net'))
            msg['From'] = email.utils.formataddr(('Traces', 'traces@anemailstory.net'))
            msg['Subject'] = 'Tr@ces - Part #' + str((i+2))

            part_html = MIMEText(email_body, 'html')
            msg.attach(part_html)

            server = smtplib.SMTP('localhost')
            server.set_debuglevel(False) # show communication with the server
            try:
                server.sendmail('traces@noreply.net', email_addrs, msg.as_string())
            finally:
                server.quit()

这是生成的电子邮件:

Return-path: <traces@noreply.net>
Envelope-to: mimmo@mimmo.com
Delivery-date: Wed, 25 Apr 2012 23:59:07 -0600
Received: from localhost ([127.0.0.1] helo=host131.hostmonster.com)
    by host131.hostmonster.com with esmtp (Exim 4.76)
    (envelope-from <traces@noreply.net>)
    id 1SNHjO-0006T0-C2; Wed, 25 Apr 2012 23:59:06 -0600
Content-Type: multipart/alternative;
    boundary="===============1468314745133566460=="
MIME-Version: 1.0
To: Recipient <readers@traces.net>
From: Traces <traces@anemailstory.net>
Subject: Tr@ces - Part #9
X-Identified-User: {:host131.hostmonster.com:andrecas:host131.hostmonster.com} {sentby:program running on server}

--===============1468314745133566460==
Content-Type: text/html; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

<html><body><div style="text-align: center; font-family: serif; font-size: 15px;"><br/><br/>@<br/><br/><br/>Mail content<br/><br/><br/>@<br/><br/><a href="http://anemailstory.net/"><i>Tr@ces</i></a><br/><br/> - <br/><br/><a href="http://anemailstory.net/unsubscribe.html">unsubscribe</a><br/><br/></div></body></html>
--===============1468314745133566460==--

你有什么解决办法吗?

谢谢。

【问题讨论】:

    标签: python email gmail spam


    【解决方案1】:

    您的电子邮件几乎只包含 HTML 和一个链接。这闻起来像垃圾邮件。

    建议:

    • 发送纯文本电子邮件(不太可能被视为垃圾邮件 - 对许多用户来说更舒适)
    • 如果您使用 HTML,请始终包含纯文本版本
    • 提高文本与链接/html 的比率。

    【讨论】:

    • 我也只包含了纯文本版本,并没有更改内容以提高文本与链接/html 的比率。我并不是说这不起作用,只是似乎在我的设置中,向 html 添加纯文本版本解决了我遇到的问题。
    【解决方案2】:

    嗯...取决于 SMTP 的签名,可能接近“垃圾邮件”。

    1. 尝试将“noreply.net”更改为真实域

    2. 服务器主机名 *.hostmonster.com 也可能在垃圾邮件列表中,因为已知垃圾邮件来自他们的任何服务器(经常发生)

    3. 还有很多其他原因……

      • 换行错误
      • 日期/时间格式错误
      • 电子邮件客户端无法处理您的邮件(格式错误)
    4. 尝试使用另一个 SMTP 服务器,看看它是签名还是服务器,而不是你的脚本!

    5. 还可以尝试发送带有较少图像/链接甚至更多文本的邮件!

    如果是垃圾邮件,您能否提供一些关于 X-Spam-Status、X-Spam-Level、X-Spam-DCC(标头元素)的信息。他们对出了什么问题给出了最好的概述!

    -- 关于垃圾邮件的一些附加信息:http://emailium.com/blog/wp-content/uploads/2011/02/Exact-Target-Infographic-Spam_vs_Whitelist-v2.jpg

    【讨论】:

      【解决方案3】:

      也可以试试 Google 提供的这个帮助文档。如果您按照要求完成了所有操作,则可以联系 Google 支持人员。

      https://support.google.com/mail/bin/answer.py?hl=en&answer=81126

      【讨论】:

        【解决方案4】:

        如果您使用 google smtp 发送电子邮件,请确保使用与您的 FirstName 匹配的 Sender's Name 和与您的 google 帐户匹配的 Lastname,例如:

        名字:约翰 姓氏:Doe

        在python中:

        sender_address = john.doe@gmail.com
        
        message["From"] = f"John Doe{sender_address}"
        
        

        这让我经历了很多错误和尝试。

        【讨论】:

          猜你喜欢
          • 2012-08-17
          • 2014-06-27
          • 2011-04-26
          • 2014-12-11
          • 2010-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-08
          相关资源
          最近更新 更多