msg = MIMEText('你好!','html','utf-8') #发送HTML格式邮件就只需要把对应的第二个参数改为html即可
完整例子:
'''程序描述: 该脚本程序,用于完成简单的邮件发送功能从文本文件中,提取内容,并发送给指定邮箱''''''作者 = xxxxx ''''''日期 = 2022.05.10 ''''''版本号 = ver1.0'''import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.header import Headerimport osimport syscontext = ''''' emial contents source from : '''f = open('come_back.txt', 'rt', encoding = 'utf-8')for line in f :#context.append(\line)context = context + linef.close()#print(context)del contextcontext = ' 你好!'# Step 1 : 服务器准备 # 1.1 连接邮箱服务器con = smtplib.SMTP_SSL('smtp.163.com', 465)# 1.2 登录邮箱con.login('xxx@163.com', 'xxx')# Step 2: 准备数据# 2.1 创建邮件对象msg = MIMEMultipart()# 2.2 设置邮件主题subject = Header('Email Test', 'utf-8').encode()msg['Subject'] = subject# 2.3 设置邮件发送者msg['From'] = 'xxx@163.com
2.3发送带附件的邮件
文章插图
发送带附件的邮件,首先要创建()实例,然后构造附件,如果有多个附件,可依次构造,最后利用.smtp发送 。
#coding:utf-8import sysreload(sys)sys.setdefaultencoding('utf8')import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Header#发送邮件服务器smtpserver = 'xxxxx'#发送邮箱用户名和密码user = 'xxxxxx'password = 'xxxxxx'#发送邮箱sender = 'xxxxx'#接受邮箱receiver = 'xxxxxxx'#创建一个带附件的实例message = MIMEMultipart()message['From'] = Header('Python 测试','utf-8')message['To'] = Header('测试','utf-8')subject = 'Python SMTP邮件测试'message['Subject'] = Header(subject,'utf-8')#邮件正文内容message.attach(MIMEText('这是测试Python发送附件功能....','plain','utf-8'))#构造附件1,传送当前目录下的test.txt文件att1 = MIMEText(open('123.txt','rb').read(),'base64','utf-8')att1['Content-Type'] = 'application/octet-stream'#这里的filename可以任意写,写什么名字 邮件中就显示什么名字att1['Content-Disposition'] = 'attachment;filename:"123.txt"'message.attach(att1)smtp = smtplib.SMTP()smtp.connect(smtpserver,25)smtp.login(user,password)smtp.sendmail(sender,receiver,message.as_string())smtp.quit()
小结
使用的发送邮件十分简单,只要掌握了各种邮件类型的构造方法,正确设置好邮件头,就可以顺利发出 。
构造一个邮件对象就是一个对象,如果构造一个对象,就表示一个文本邮件对象,如果构造一个对象,就表示一个作为附件的图片,要把多个对象组合起来,就用对象,而可以表示任何对象 。它们的继承关系如下:
+-
+-
+-
+-
+-
+-
【【Python 应用篇】Email 邮件发送】这种嵌套关系就可以构造出任意复杂的邮件 。你可以通过email.mime文档查看它们所在的包以及详细的用法 。
- 刘盆子简介中国史上唯一一位双目失明的皇帝
- Python 调用 Outlook 发送邮件
- 【2019CVPR学习】翻译
- 基于Python实现机器人自动走迷宫【100011016】
- 提示 “需要使用新应用以打开此windowsdefender链接“
- Win11解决需要使用新应用以打开此WindowsDefender链接
- 显示需要使用新应用打开此ms-windows-store链接的解决办法
- 60帧 CSS3 实现 60 FPS 动画效果
- 企业J2EE应用实践-档案管理系统
- 秦朝历史解密:秦始皇及秦国高层反对经商吗?