Python: Mail sent by script is marked as spam by Gmail
email, gmail, python, spam
Solution
You email consists of almost only HTML and a link. That smells like spam.
Suggestions:
- Send a plaintext email (less likely to be considered spam - and more comfortable for many users)
- If you use HTML, always include a plaintext version
- Improve the text-to-links/html ratio.
Problem
We have a python script that sends mails everyday to an xml list of addresses. Those mails are always marked as spam by Gmail. Here's the code: ``` 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() ``` And here's the generated email: ``` 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==-- ``` Do you have any solution for this? Thanks.