import smtplib
from email.mime.text import MIMEText
def send_email():
# smtp服务器
smtpserver = 'smtp.qq.com'
# 发送方信息
user = 'qqhao@qq.com' # 如果使用MailEnable做邮件服务器,那么可以在该软件中查看用户名 一般该软件用户名会去掉.com ,比如boss@qiku
passwd = 'shouquanma' # 授权码
# 接收方信息
receiver = "163@163.com"
# message = MIMEText("axcd", "plain", "utf-8")
html = "<h1>邮件速递</h1> 我是你的bb asd <i>哈哈哈哈</i>"
# 发送HTML格式邮件
# message = MIMEText(html, 'html', 'utf-8')
# 发送带附件的邮件
message = MIMEMultipart()
message["from"] = user
message["to"] = receiver
message["subject"] = "测试邮件" # 邮件的标题
# 邮件正文
mail_context = "这是邮件内容"
message.attach(MIMEText(mail_context, 'plain', 'utf-8'))
# 构造附件1,传送当前目录下的 test.txt 文件
att1 = MIMEText(open('测试结果.txt', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
# 非中文命名附件
# att1["Content-Disposition"] = 'attachment; filename="test.txt"'
# 中文命名附件
att1.add_header("Content-Disposition", "attachment", filename=("gbk", "", "测试结果.txt"))
# 构造附件2,传送当前目录下的 a.xls 文件
att2 = MIMEText(open('a.xls', 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
# 非中文命名附件
# att1["Content-Disposition"] = 'attachment; filename="test.txt"'
# 中文命名附件
att2.add_header("Content-Disposition", "attachment", filename=("gbk", "", "表格.xls"))
message.attach(att1)
message.attach(att2)
server = smtplib.SMTP_SSL(host=smtpserver, port=465)
server.login(user, passwd)
server.sendmail(from_addr=user, to_addrs=receiver, msg=message.as_string())
server.quit()
print("finish")
python3发送邮件操作
最新推荐文章于 2024-08-09 20:15:49 发布