【发布时间】:2016-01-07 16:10:27
【问题描述】:
我有一个将在夜间运行的脚本。我希望它在无法完成时向我发送一封电子邮件。我编写了一个简短的测试脚本来学习如何使用 Python 发送电子邮件。在我的 IDE 中,它运行时没有错误消息,但没有电子邮件。我从我们的一台服务器(不是电子邮件服务器)运行,它没有任何电子邮件限制。
我在 Python shell 中尝试过,所以我可以读取任何消息:
我尝试发送到我的 gmail 帐户并收到此错误:
SMTPRecipientsRefused: {'blahblahblah@gmail.com': (550, '5.7.1 Unable to relay')}
有什么想法吗??
更多信息:
我修改了找到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 的原因。
我的问题基本解决了。但是当我尝试发送给同事时,我始终无法让“更简单”的代码工作?
【问题讨论】: