来自 电脑系统 2019-09-21 04:06 的文章
当前位置: 金沙澳门官网网址 > 电脑系统 > 正文

适合很多人的利用习贯

 1 # coding: utf-8 2  3 import smtplib 4 from email.mime.multipart import MIMEMultipart 5 from email.mime.text import MIMEText 6 from email.header import Header 7 import re 8  9 10 def e_mail(smtpserver ='smtp.163.com',11            username='自己邮箱账号',12            password='自己邮箱授权码',13            receiver='目标邮箱地址',14            subject='邮件主题',15            text='邮件内容',16            sendfiles=None,   # 附件17            ):18 19     """20             此函数用以发送邮件21         参数说明:smtpserver为smtp服务器22                  username为发送者邮箱用户名23                  password为发送者邮箱密码/授权码24                  receiver为接收者邮箱(可以有多个,用','分隔)25                  subject为邮件主题26                  text为邮件内容27                  sendfiles为附件路径(可以有多个,用','分隔)28         注:所有参数均为字符串类型29 30     """31 32     # 发件人33     sender = username34 35     # 收件人36     # receivers = ['aaakkkbbbaaa2@163.com', 'liwei@staff.cntv.cn']37     receivers = []38     for i in receiver.split(','):39         receivers.append40 41     # 邮件标题42     subject = Header(subject, 'utf-8').encode()43 44     # 邮件内容45     main_body = text46 47     # 构造邮件对象48     msg = MIMEMultipart('mixed')49 50     # 将邮件标题、发件人、收件人加入邮件对象。51     msg['Subject'] = subject52     msg['From'] = '%s <%s>' % (username, username)53     # msg['To'] = 'XXX@126.com'54     # 收件人为多个收件人,通过join将列表转换为以;为间隔的字符串55     msg['To'] = ";".join(receivers)56     # msg['Date']='2012-3-16'57 58     # 将邮件内容加入邮件对象59     if text:60         # 编码文字内容61         text_plain = MIMEText(main_body, 'plain', 'utf-8')62         # 将文字内容加入邮件对象63         msg.attach(text_plain)64 65     # 将附件加入邮件对象66     if sendfiles:67         # 遍历所有附件68         for i in sendfiles.split(','):69             # 加载附件70             sendfile = open(r'%s' % i, 'rb')71             sendfile = sendfile.read()72             text_att = MIMEText(sendfile, 'base64', 'utf-8')73             text_att["Content-Type"] = 'application/octet-stream'74             # 为附件命名75             try:76                 file_name = re.match(r'.*[\/]$', i).group(1)77             except AttributeError:78                 file_name = i79             text_att.add_header('Content-Disposition', 'attachment', filename=file_name)80             # 将附件加入邮件对象81             msg.attach82 83     # 发送邮件84     smtp = smtplib.SMTP()85     smtp.connect(smtpserver)86     # 用set_debuglevel可以打印出和SMTP服务器交互的所有信息。87     # smtp.set_debuglevel88     smtp.login(username, password)89     smtp.sendmail(sender, receivers, msg.as_string90     smtp.quit()91     return '邮件发送完毕'92 93 94 if __name__ == '__main__':95     e_mail(sendfiles=r'C:UsersAdministratorDesktop结果.png,C:UsersAdministratorDesktopAgent说明文档.txt')

本文由金沙澳门官网网址发布于电脑系统,转载请注明出处:适合很多人的利用习贯

关键词: