我有一个每晚都会运行的脚本。我希望它在未能完成时向我发送电子邮件。我写了一个简短的测试脚本来学习如何使用Python发送电子邮件。在我的IDE中,它运行时没有错误消息但没有电子邮件。我是从我们的一台服务器(不是电子邮件服务器)运行的,它没有任何电子邮件限制。
我在Python 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的原因。
我的问题基本解决了。但是我从来没有能够得到更简单的"当我尝试发送给同事时,代码在最顶层工作了吗?
答案 0 :(得分:-2)
SMTPRecipientsRefused:(550,'5.7.1无法中继')
这意味着您使用的服务器无法将邮件中继到目标收件人。这通常发生在您的电子邮件服务器出现配置问题时