Я быстро написал приведенный ниже код для отправки данных на удаленный сервер REST для отладки, но я получаю пустое электронное письмо. теперь уверен, что происходит не так. в теле терминала текст dict или преобразованный в json текст печатается, но ничего не получает по электронной почте.
# For testing
def sendMail(usr, pwd, to, body):
""" just for testing to send error via email
"""
fromaddr = usr
toaddr = to
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Data add request"
try:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(usr, pwd)
msg.attach(body)
r = json.dumps(body)
loaded_r = json.loads(r)
print "json: ", str(loaded_r)
server.sendmail("error-report@do_not_reply.com", to, str(loaded_r))
except Exception, err:
print 'Error sending email: ', err
finally:
server.quit()
Я попытался отправить server.sendmail("error-report@do_not_reply.com", to, body)
, но это тоже отправляет пустое письмо без темы. Что я делаю неправильно ?