Python:Gmail将脚本发送的邮件标记为垃圾邮件
我们有一个python脚本,它每天将邮件发送到一个xml地址列表。这些邮件总是被Gmail标记为垃圾邮件。代码如下:Python:Gmail将脚本发送的邮件标记为垃圾邮件,python,email,gmail,spam,Python,Email,Gmail,Spam,我们有一个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]
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()
email\u body='
@
'+文本拆分[i]+'
'
#与该转载日期对应的文本
#电子邮件
msg=MIMEMultipart('alternative')#创建多部分msg(允许html)
msg['To']=email.utils.formataddr(('Recipient','readers@traces.net'))
msg['From']=email.utils.formataddr(('Traces','traces@anemailstory.net'))
msg['Subject']='Tr@ces-第#'部分+str((i+2))
part_html=MIMEText(电子邮件正文'html')
msg.attach(part_html)
server=smtplib.SMTP('localhost')
server.set_debuglevel(False)#显示与服务器的通信
尝试:
server.sendmail('traces@noreply.net,email_addrs,msg.as_string())
最后:
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==--
返回路径:
信封收件人:mimmo@mimmo.com
交货日期:2012年4月25日星期三23:59:07-0600
收到:来自localhost([127.0.0.1]helo=host131.hostmonster.com)
通过host131.hostmonster.com和esmtp(Exim 4.76)
(信封来自)
id 1SNHjO-0006T0-C2;2012年4月25日星期三23:59:06-0600
内容类型:多部分/备选;
边界=“=========================1468314745133566460==”
MIME版本:1.0
收件人:收件人
来源:痕迹
主题:Tr@ces-第9部分
X-Identified-User:{:host131.hostmonster.com:andrecas:host131.hostmonster.com}{sentby:program running on server}
--===============1468314745133566460==
内容类型:text/html;charset=“us ascii”
MIME版本:1.0
内容传输编码:7bit
@
--===============1468314745133566460==--
你有什么解决办法吗
谢谢。您的电子邮件几乎只包含HTML和链接。闻起来像垃圾邮件 建议:
- 发送纯文本电子邮件(不太可能被视为垃圾邮件,对许多用户来说更舒适)
- 如果使用HTML,请始终包含纯文本版本
- 提高文本与链接/html的比率
- 尝试将“noreply.net”更改为真正的域
- 也可能是服务器主机名*.hostmonster.com位于垃圾邮件列表上,因为已知来自其任何服务器的垃圾邮件(经常发生)
- 还有很多其他原因
- 错误的新行
- 错误的日期/时间格式
- 电子邮件客户端无法处理您的邮件(格式错误)
- 尝试使用另一个SMTP服务器,查看它是签名还是服务器,而不是您的脚本
- 还可以尝试用更少的图片/链接甚至更多的文本发送邮件 如果是垃圾邮件,请提供一些关于X-spam-Status、X-spam-Level、X-spam-DCC(标题元素)的信息。他们给出了关于问题所在的最佳概述 --
- 哼。。。取决于SMTP的签名,该签名可能接近“垃圾邮件”
关于垃圾邮件的一些附加信息:也可以尝试谷歌的帮助文档。如果你做了相应的一切,你可以联系谷歌支持
如果您使用谷歌smtp发送电子邮件,请确保将发件人的姓名与您的名字匹配,将姓氏与您的谷歌帐户匹配,例如: 名字:约翰 姓氏:Doe 在python中:
sender_address = john.doe@gmail.com
message["From"] = f"John Doe{sender_address}"
这花费了我大量的错误和尝试。我也只包含了一个纯文本版本,并且没有更改内容以提高文本链接/html比率。我并不是说这不起作用,只是在我的设置中,添加纯文本版本到html版本解决了我的问题。