Python: Как передать текстовое тело электронного письма в электронную почту Office365

#python #python-3.x #email #office365

#python #python-3.x #Адрес электронной почты #office365

Вопрос:

Пытаюсь заставить приведенный ниже скрипт работать для office365. Отправляет электронное письмо, но я не могу заставить скрипт распознать фактическое текстовое тело электронного письма (отправляется только строка темы). Приведенный ниже скрипт работал для gmail. Есть идеи, где мне нужно изменить?

Спасибо!

 import smtplib, ssl

port = 587 
smtp_server = "smtp.office365.com"
sender_email = "me@email.com"
receiver_email = {'User1': 'user1@email.com'}
password = "password"

subject = input('Enter the subject line: ')
message = input('Enter the message: ')

email = """
Subject: %s
%s
""" % (subject, message)

for key, value in receiver_email.items():                   

    context = ssl.create_default_context()
    with smtplib.SMTP(smtp_server, port) as server:
        server.ehlo()  # Can be omitted
        server.starttls(context=context)
        server.ehlo()  # Can be omitted
        server.login(sender_email, password)
        server.sendmail(sender_email, value, email)               
        server.quit()  

Ответ №1:

отсутствовал » n» в объекте электронной почты. Теперь это работает.

 email = """
Subject: %sn
%s
""" % (subject, message)