发送邮件,可带附件,可群发
发布时间:2020-12-17 17:10:42 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 # 这是发布本信息时的版本,请以github上的为主要参考def send_email(login=None,mail=None,images=None,attachments=None,use_ssl=None): smtpserver
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 # 这是发布本信息时的版本,请以github上的为主要参考 def send_email(login=None,mail=None,images=None,attachments=None,use_ssl=None): smtpserver = login.get("smtpserver") username = login.get("username") password = login.get("password") email_type = mail.get('email_type') From = mail.get('from') To = mail.get('to') Subject = mail.get('subject') content = mail.get('content') if not To: To = username if isinstance(To,list): To = ','.join(To) if not email_type or (email_type not in ("plain","html")): email_type = "html" main_msg = MIMEMultipart() main_msg['Subject'] = Subject main_msg['From'] = From main_msg['To'] = To text_msg = MIMEText(content,email_type,'utf-8') main_msg.attach(text_msg) if images: for f in images: fp = open(f,'rb') img_msg = MIMEImage(fp.read()) fp.close() basename = os.path.basename(f) img_msg.add_header('content-disposition','image' + str(images.index(f)),filename=basename) main_msg.attach(img_msg) if attachments: for f in attachments: basename = os.path.basename(f) if "." in basename: content_type = mimetypes.types_map["." + basename.split(".")[-1]] else: content_type = 'application/octet-stream' maintype,subtype = content_type.split('/',1) fp = open(f,'rb') file_msg = MIMEBase(maintype,subtype) file_msg.set_payload(fp.read()) fp.close() encoders.encode_base64(file_msg) file_msg.add_header('Content-Disposition','attachment' + str(images.index(f)),filename=basename) main_msg.attach(file_msg) smtp = smtplib.SMTP(smtpserver) if use_ssl: smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(username,password) smtp.sendmail(From,To,main_msg.as_string()) smtp.quit() 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |