def sendMail(from_email, to_email ,subject,plain_text, html_body, files): # 打开HTML格式的文件,这是要发送的邮件正文 msgRoot = MIMEMultipart('related') if to_email.find('ic.net.cn'): msgRoot['Subject'] = email.Header.Header(subject.decode('utf-8').encode('gb2312'), 'gb2312') else: msgRoot['Subject'] = email.Header.Header(subject.decode('utf-8'), 'utf-8') #msgRoot['Subject'] = subject msgRoot['From'] = from_email msgRoot['To'] = to_email.replace('\n','') msgRoot.preamble = 'This is a multi-part message in MIME format.' msgRoot["Accept-Charset"]="ISO-8859-1,utf-8" msgAlternative = MIMEMultipart('alternative') msgRoot.attach(msgAlternative) # 设定纯文本信息 msgText = MIMEText(plain_text.encode('utf-8'),"plain","utf-8") msgAlternative.attach(msgText) # 设定HTML邮件正文 #发送附件 for file in files: fp = open(file, 'rb') msgImage = MIMEImage(fp.read()) fp.close() msgImage.add_header('Content-ID', '<image1>') msgRoot.attach(msgImage) html_body = "%s <br/><img src='cid:image1' />" % html_body msgText = MIMEText(html_body, 'html','utf-8') msgAlternative.attach(msgText) #发送邮件 smtp = smtplib.SMTP(Host) smtp.set_debuglevel(0) # auth login 命令 smtp.docmd("HELO %s" %Host) smtp.docmd("AUTH LOGIN") # 发送用户名,是base64编码过的,用send发送的,所以要用getreply获取返回信息 smtp.send(base64.encodestring(username)) smtp.getreply() # 发送密码 smtp.send(base64.encodestring(password)) smtp.getreply() try: error = smtp.sendmail(from_email,to_email,msgRoot.as_string()) finally: smtp.quit()
发送图片附件邮件
猜你喜欢
转载自xiaolin0199.iteye.com/blog/2031086
今日推荐
周排行