python smtp电子邮件无法正常工作

时间:2014-10-09 16:27:23

标签: python email smtp

我是以下python脚本

import sys
from smtplib import SMTP              
from email.mime.text import MIMEText
class EmailSender():

  def send_email(self, msg_text):
    SMTPserver = ‘localhost'
    conn = SMTP(SMTPserver)       

    try:
      sender =     ‘someone@something.com'
      destination = 'someone2@something.com'
      text_subtype = 'plain'
      msg = MIMEText(msg_text, text_subtype)
      msg['Subject']= "subject"
      msg['From']   = sender
      msg['To'] = destination

      conn.sendmail(sender, [destination], msg.as_string())
    except Exception, exc:
      sys.exit( "mail failed; %s" % str(exc) ) # give a error message
    finally:
      conn.close()

脚本运行正常而不报告任何错误,但我在邮件中看不到任何内容。 后缀也在运行

sudo postfix start
netstat -an | grep 'LISTEN'| grep 25
tcp4       0      0  127.0.0.1.25           *.*                    LISTEN  

请发现我的错误。我通过

来称呼它
email_sender = EmailSender()
email_sender.send_email("SOMETHING BROKE!")

1 个答案:

答案 0 :(得分:0)

好的,这是交易。我将上面脚本中的目的地编辑成了一个gmail帐户,它就像一个魅力。那么问题是什么? ' someone2@something.com'目标基本上由Microsoft电子邮件服务器支持。我尝试通过

发送电子邮件
echo "testing mail" | mailx -s "this is a test email from `hostname`" someone2@something.com

并看到它以/ var / email / user结尾。发送失败报告如下:

最终收件人:rfc822; someone2@something.com 行动:失败 现状:5.7.1 远程MTA:dns; .... protection.outlook.com 诊断代码:smtp;暂停服务;客户主机      使用FBLW15阻止;要求从此列表中删除     请将此消息转发至delist@messaging.microsoft.com

所以微软阻止电子邮件从我的机器上出来。