I found many examples on the web how to attach local files to email. What I want to do is attach an object-like file to an email address. Why do you ask? so I donโt need to clean up the files. Below is my code and my error. After long searches, I still couldnโt get it to work, any help would be greatly appreciated :)
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'] = ' a@b.com ' msg['To'] = ' c@d.com ' 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/*
source share