#coding: utf-8 __author__ = 'KK' #发送电子邮件 import smtplib #定义邮件正文 from email.mime.text import MIMEText #定义邮件标题 from email.header import Header #定义附件 from email.mime.multipart import MIMEMultipart class send_email: def __init__(self, user, password, sender, receiver,subject, emailText, emailTextFormat, filename): self.user = user self.password = password self.sender = sender self.receiver = receiver self.subject = subject self.emailText = emailText self.emailTextFormat = emailTextFormat self.filename = filename def send(self): try: #发送的附件 #以二进制读模式打开文件 sendfile = open(self.filename, 'rb').read() att = MIMEText(sendfile, 'base64', 'utf-8') att['Content-Type'] ='application/octet-stream' att['Content-Disposition'] = 'attachment; filename =' + self.filename.split("/")[len(self.filename.split("/"))-1] # 编写HTML类型的邮件正文 msg = MIMEText(self.emailText, emailTextFormat, 'utf-8') msgRoot = MIMEMultipart('related') msgRoot.attach(att) msgRoot.attach(msg) # 用于邮箱显示标题、发件人、收件人 msgRoot['Subject'] = Header(self.subject, 'utf-8') msgRoot['From'] = self.sender msgRoot['to'] = self.receiver # 连接并发送邮件 smtp = smtplib.SMTP() smtp.connect(smtpserver) smtp.login(self.user, self.password) smtp.sendmail(self.sender, self.receiver, msgRoot.as_string()) smtp.quit() except Exception as msgError: print msgError #发送邮箱服务器 smtpserver = 'smtp.*****.com' #发送邮箱用户/密码 user = '***********' password = '********' #发送人邮箱 sender = '***********' #收件人邮箱 receiver = '***********' #邮件主题 subject = 'python_test_email' #邮件正文 emailText = '<html><h1>你好!</h1></html>' #邮件正文格式 emailTextFormat='html' #附件:以二进制读模式打开文件 filename = 'D:/log.txt' send_email(user, password, sender, receiver, subject, emailText, emailTextFormat, filename).send()
python 发送邮件(2) 带附件
最新推荐文章于 2022-05-18 17:49:11 发布