По какой-то причине, которая ускользает от меня, всякий раз, когда я пытаюсь отправить это письмо, вызывая функцию, в письме отсутствует предмет, отсутствует «To:», а тело электронной почты компенсируется четырьмя пробелами. Однако, когда точно такой же код запускается непосредственно внутри тела скрипта, все отформатировано отлично.Python: smtplib неправильно форматирует электронную почту, когда внутри функции, но правильно ее форматирует, когда один и тот же код запускается извне функции
import smtplib
def send_email():
sender = '[email protected]'
receivers = ['[email protected]']
message_header = """From: Me <[email protected]>
To: Me <[email protected]>
Subject: This is the messages's subject
"""
message_body = 'This is the message\'s body'
message = message_header + message_body
try:
smtpObj = smtplib.SMTP('server_name', 25)
smtpObj.sendmail(sender, receivers, message)
print("Successfully sent email")
except OSError:
print("Error: unable to send email")
send_email()