Python Email脚本麻烦

时间:2016-01-07 16:10:27

标签: python email smtplib

我有一个每晚都会运行的脚本。我希望它在未能完成时向我发送电子邮件。我写了一个简短的测试脚本来学习如何使用Python发送电子邮件。在我的IDE中,它运行时没有错误消息但没有电子邮件。我是从我们的一台服务器(不是电子邮件服务器)运行的,它没有任何电子邮件限制。

我在Python shell中尝试过,所以我可以阅读任何消息:

screen capture of my shell

我尝试发送到我的Gmail帐户并收到此错误:

SMTPRecipientsRefused:{' blahblahblah@gmail.com':(550,' 5.7.1无法转发')}

任何想法??

更多信息:

我修改了找到here的代码以使用我们的电子邮件。

def send_email(user, recipient, subject, body):
    import smtplib

    FROM = user
    TO = recipient if type(recipient) is list else [recipient]
    SUBJECT = subject
    TEXT = body

    # Prepare actual message
    message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
    """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
    try:
        server = smtplib.SMTP("workemailserver.com")
        server.sendmail(FROM, TO, message)
        server.close()
        print 'successfully sent the mail'
    except:
        print "failed to send mail"

有了这个,我可以发送电子邮件给我的同事,但不是我自己。没什么大不了的,因为我可以使用同事的电子邮件作为发件人。我们的电子邮件服务器"将消息转发到office365,这就是我无法发送到我的Gmail的原因。

我的问题基本解决了。但是我从来没有能够得到更简单的"当我尝试发送给同事时,代码在最顶层工作了吗?

1 个答案:

答案 0 :(得分:-2)

  

SMTPRecipientsRefused:(550,'5.7.1无法中继')

这意味着您使用的服务器无法将邮件中继到目标收件人。这通常发生在您的电子邮件服务器出现配置问题时