У меня есть скрипт, который будет работать каждую ночь. Я хочу, чтобы он присылал мне электронное письмо, когда он не был завершен. Я написал короткий тестовый скрипт, чтобы узнать, как отправить электронное письмо с помощью Python. В моей среде IDE он работает без сообщений об ошибках, но без электронной почты. Я работаю с одного из наших серверов (не с почтового сервера), у которого нет ограничений на электронную почту.
Я попробовал это в оболочке Python, поэтому я могу читать любые сообщения:
Я попытался отправить на свою учетную запись gmail и получил эту ошибку:
SMTPRecipientsRefused: {'[email protected]': (550, '5.7.1 Не удалось ретранслировать')}
Любые идеи??
Больше информации:
Я изменил код, найденный здесь, для работы с нашей электронной почтой.
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.
Моя проблема в принципе решена. Но мне так и не удалось заставить «более простой» код работать, когда я пытался отправить его коллегам?