我在网上找到了很多有关如何将本地文件附加到电子邮件的示例。我想做的是将一个类似对象的文件附加到电子邮件中。你为什么问?所以我不必处理清理文件的问题。下面是我的代码和我的错误。经过多次谷歌搜索后,我仍然没有设法让它工作,任何帮助将不胜感激:)
def email_sup_teams(team_name, contact_list, file_attachemnt):
message_list = []
for jobs in file_attachemnt:
for k, v in jobs.items():
message_list.append(v + ',')
attachment_text = "\n".join(message_list)
print(type(attachment_text))
msg = MIMEText(' Failed jobs list. Please see attachment')
msg['Subject'] = 'Not run Jobs for ' + team_name
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
f = io.StringIO(attachment_text)
attachment = MIMEText(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename='test_attach')
msg.attach(attachment)
s = smtplib.SMTP('smlsmtp')
s.sendmail(msg['From'], msg['To'], msg.as_string())
s.quit()
print('\n' + team_name + ' Email Sent')
error:
<class 'str'>
Traceback (most recent call last):
File "queue_cleaner_main.py", line 85, in <module>
sys.exit(main())
File "queue_cleaner_main.py", line 82, in main
queue_cleaner_functions.email_sup_teams(t, team_members_emails, attachment_file_of_jobs)
File "D:\oppssup\old_job\queue_cleaner_functions.py", line 179, in email_sup_teams
msg.attach(attachment)
File "C:\Python34\lib\email\mime\nonmultipart.py", line 22, in attach
'Cannot attach additional subparts to non-multipart/*')
email.errors.MultipartConversionError: Cannot attach additional subparts to non-multipart/*