У меня был скрипт на Python 2.7, который отправил бы электронное письмо. Следующий код прекрасно работал на нем:MIME Multipart отправляется как «noname» на Python 3
msg = MIMEMultipart(
From = "Name <[email protected]>",
To = "Name <[email protected]>",
Date=formatdate(localtime=True),
Subject="SUBJECT")
msg.attach(MIMEText("""HTML Stuff""", 'html'))
with open(analysis_file, "rb") as fil:
msg.attach(MIMEApplication(
fil.read(),
Content_Disposition='attachment; filename="%s"' % os.path.basename(analysis_file),
Name=os.path.basename(analysis_file)
))
msg['Subject'] = "SUBJECT"
msg['From'] = "Name <[email protected]>"
msg['To'] = "Name <[email protected]>"
server.sendmail(FROMADDR, ["[email protected]"], msg.as_string())
я преобразовал сценарий Python 3.5, а все остальные части работы скрипта именно так, как ожидалось. Вышеизложенное, однако, не означает: вместо отправки моего письма с помощью HTML Stuff и вложения он отправляет пустое электронное письмо с файлом без продолжения без названия, который, как я полагаю, имеет материал, который я хотел отправить.
Я попытался удалить часть вложения и сохранить только материал HTML, но до сих пор нет сделки.
Почему это происходит, и как я могу это исправить?
(Причина я помещал Subject, С, и в два раза, что, когда я использовал его только в первый раз, он не будет работать по какой-то причине, и я никогда не снимал его оттуда после того, как он начал работать.)