import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email.header import Header
from email import encoders
mail_host = {
"host": 'smtp.qq.com',
"port": 465
}
mail_user = {
"user": 'admin@fanscloud.net',
"pass": 'gyzzvmjdlofnbedj'
}
sender = "admin@fanscloud.net"
mailToList = [
"1634991757@qq.com",
"fanscloud@foxmail.com"
]
mailCcList = [
"zhaoyafan@foxmail.com"
]
mailBcList = [
]
html = '''
Python 邮件发送HTML格式文件测试...
这是一个链接
'''
message = MIMEMultipart()
messageFrom = Header()
messageFrom.append('云凡网络')
messageFrom.append('')
print(messageFrom)
message["From"] = messageFrom
message["To"] = ';'.join(mailToList)
message["Cc"] = ';'.join(mailCcList)
message["Bcc"] = ';'.join(mailBcList)
message['Subject'] = Header('主题333')
message.attach(MIMEText(html, 'html', 'utf-8'))
# 构造附件2,传送当前目录下的 runoob.txt 文件
# att2 = MIMEText(open('./1.xlsx', 'rb').read(), 'base64', 'utf-8')
# att2["Content-Type"] = 'application/octet-stream'
# file = Header('attachment; filename=')
#
# att2["Content-Disposition"] = file
# message.attach(att2)
#
#
# print(file)
mime = MIMEBase('application','octet-stream')
mime.add_header('Content-Disposition', 'attachment', filename='文件文件.xlsx')
mime.set_payload(open('./1.xlsx', 'rb').read())
# 用Base64编码:
encoders.encode_base64(mime)
# 添加到MIMEMultipart:
message.attach(mime)
print("加密后的发送内容\n", message.as_string()) # 打印输出加密后的发送内容
#
#
smtpObj = smtplib.SMTP_SSL(mail_host['host'], mail_host['port'])
# smtpObj.connect(mail_host['host'], mail_host['port']) # 链接 SMTP 服务器
smtpObj.login(mail_user['user'], mail_user['pass']) # 登录邮箱验证
smtpObj.sendmail(sender, mailToList, message.as_string()) # 发送邮件; "message" 通过 "as_string()" 进行发送内容字符串的加密