# -*- coding:utf-8 -*- # version1.0 #python_version2.7 import smtplib # 发送字符串的邮件 from email.mime.text import MIMEText # 处理多种形态的邮件主体我们需要 MIMEMultipart 类 from email.mime.multipart import MIMEMultipart # 处理图片需要 MIMEImage 类 from email.mime.image import MIMEImage # MIMEMultipart的一个子类 from email.mime.application import MIMEApplication # 设置第三方SMTP服务 mail_host = 'smtp.163.com' fromaddr = 'w******n@163.com' # 邮件发送方邮箱地址 password = 'w******2' # 密码(部分邮箱为授权码) port = 25 # 端口号,163邮箱默认是25 toaddrs = ['1*****9@qq.com','w****n@163.com'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 # toaddrs='1*****9@qq.com' # 设置email信息 # 创建一个带附件的实例 message = MIMEMultipart() # 邮件正文设置 content = 'hello, this is email content.' textApart = MIMEText(content, 'plain', 'utf-8') message.attach(textApart) # 邮件主题 message['Subject'] = 'send email' # 发送方信息 message['From'] = fromaddr # 接受方信息 message['To'] = ";".join(toaddrs) # --------------------------------------------------------------------- # 添加附件,如果有多个附件,可依次构造,最后利用smtplib.smtp发送 # zipfile='a190914.zip' attachment_file = MIMEApplication(open(r'E:\scripts\test\a190914.zip', 'rb').read()) attachment_file.add_header('Content-Disposition', 'attachment', filename='zipfile.zip') # a.txt txt_file = MIMEApplication(open(r'E:\scripts\test\a.txt', 'rb').read()) txt_file.add_header('Content-Disposition', 'attachment', filename='file.txt') message.attach(attachment_file) message.attach(txt_file) # 登录并发送邮件 try: # 登录邮箱服务器,并发送邮件 server = smtplib.SMTP() server.connect(mail_host, port) server.login(fromaddr, password) server.sendmail(fromaddr, toaddrs, message.as_string()) print('success') server.quit() except smtplib.SMTPException as e: print('error', e) # 打印错误