import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.header import Header
import os
sender = 'tonn.he@foxmail.com'
receivers = ['tonn.he@foxmail.com']
mail_host="smtp.qq.com"
mail_port=465
mail_user="tonn.he@foxmail.com"
mail_pass="************"
def post_email(title, context,files=[]):
message=MIMEMultipart()
message['From'] = Header(sender)
message['To'] = Header(str(";".join(receivers)))
message['Subject'] = Header(title)
cont=MIMEText(context, 'plain', 'utf-8')
message.attach(cont)
if len(files)>0:
for path in files:
if os.path.exists(path):
file_name=path.split('\\')[-1]
print(file_name)
part = MIMEApplication(open(path, 'rb').read(), _subtype="base64", _charset="utf-8")
part.add_header('content-disposition', 'attachment', filename=file_name)
message.attach(part)
try:
smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
smtpObj.quit()
return "发送成功"
except smtplib.SMTPException:
return smtplib.SMTPException
if __name__ == '__main__':
files=[r"C:\Users\Administrator\Desktop\test\Test.xlsx",
r"C:\Users\Administrator\Desktop\test\微信截图_20190815152527.png",r"C:\Users\Administrator\Desktop\test\新建文本文档.txt"]
result = post_email("来自于测试数据", "今天测试一下python是否可以发送邮件成功。",files)
print(result)
study