【发布时间】:2019-01-11 20:27:21
【问题描述】:
我正在尝试发送包含文本和附件的电子邮件并遇到以下错误?
删除以下块可以发送电子邮件但无法发送附件,任何人都可以提供有关如何修复它的指导吗?
f = file(attachment_file_path )
attachment = MIMEText(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename=attachment_file_path)
msg.attach(attachment)
代码:-
导入操作系统,smtplib 导入子流程,pprint,shlex 从子流程导入 Popen、PIPE、调用 从 email.mime.text 导入 MIMEText 从 email.MIMEMultipart 导入 MIMEMultipart
def sendEmail(type,data):
global originalradar
global gerriturl,email,username
body = '''%s''' % (data)
msg = MIMEMultipart(body)
# sender = 'wifici@company.com'
sender = 'username@company.com'
receivers = ['username@company.com']
#sendEmail(data)
attachment_file_path = './wifi_projects/wifi-ci/.git/rebase-apply/patch'
if type =='cherrypickfailure':
msg['Subject'] = 'CHERRYPICK FAILED '
msg['From'] = sender
msg['To'] = ', '.join(receivers)
try:
mail = smtplib.SMTP('relay.company.com', 25)
f = file(attachment_file_path )
attachment = MIMEMultipart(f.read())
attachment.add_header('Content-Disposition', 'attachment', filename=attachment_file_path)
msg.attach(attachment)
msg.attach(MIMEText(body))
mail.sendmail(sender, receivers, msg.as_string())
print 'Email sent successfully'
except Exception as e:
print e
conflictedblocks = {'README': '<<<<<<< HEAD\nTRP\n=======\nTBD\n>>>>>>> <rdar://problem/42841519> Dummy radar\n'}
conflictedblocks_string = ""
for key,value in conflictedblocks.items():
conflictedblocks_string += "<b><u>" +key + "</b></u>" +":" + "\n" + value + "\n"
sendEmail('cherrypickfailure',conflictedblocks_string)
错误:-
Cannot attach additional subparts to non-multipart/*
【问题讨论】:
标签: python