使用smtplib的Python电子邮件:450,'此邮件被暂时拒绝'

时间:2016-02-09 18:02:38

标签: python mime smtplib

我制作了一个小脚本,根据this post使用smtplib发送html电子邮件

基本上我想要的是在完成数据库中的某些条件后自动向我们的某个订阅者发送电子邮件 :

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

sender = "sender_email@domain.com"
receiver = "receiver_email@domain.com"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Test email"
msg['From'] = me
msg['To'] = you

# Message body
text = "string message"
html = """\
<html>
  <head></head>
  <body>
    <p>
       html message
    </p>
  </body>
</html>
"""
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')


msg.attach(part1)
msg.attach(part2)

# Send the message via external SMTP server.
s = smtplib.SMTP('mail.domain.com')

s.sendmail(sender, receiver, msg.as_string())
s.quit()

问题是每当我尝试将脚本运行到我自己以外的任何电子邮件时,都会收到以下错误:

      s.sendmail(me, you, msg.as_string())
  File "/usr/lib/python2.7/smtplib.py", line 742, in sendmail
    raise SMTPRecipientsRefused(senderrs)
smtplib.SMTPRecipientsRefused: {'other_email@domain.com': (450, 'This mail is temporarily denied')}

编辑:

我检查了我的邮件服务器配置并测试了3个不同的地址,其中2个我删除了垃圾邮件过滤器,1个我保留了它,然后运行了脚本。 没有垃圾邮件过滤器的2封电子邮件收到了电子邮件,而过滤器的邮件没有收到,这就是为什么我认为这是垃圾邮件问题,但必须是我如何设置生成电子邮件的代码,或者我和#39;我错过了一个标题?

1 个答案:

答案 0 :(得分:0)

我错过了s.starttls()和s.login(me,pw)语句。 现在工作正常。