Day6 邮件文件自动发送

Day6

重点

1.邮件发送的基本流程

1.准备邮箱账号和密码(授权码)

账号:18380732786@163.com

*授权码:*OUPOROHYXEHHKVTS

2.连接邮箱服务器(相当于打开邮箱网站)
import smtplib
connect = smtplib.SMTP_SSL('smtp.qq.com',465)
3.登录邮箱账号
connect.login('18380732786@163.com','OUPOROHYXEHHKVTS')
print('邮件登录成功')
4.准备邮件内容(写邮件)
from email.mime.multipart import MIMEMultipart	
from email.header import Header
from email.mime.text import MIMEText
# 1)创建空的邮件对象
mail = MIMEMultipart()
# 2)设置邮件主题
mail['Subject'] = Header('余婷周报', 'utf-8').encode()
# 3)设置收件人信息
mail['To'] = '203351577@qq.com;3534851986@qq.com'#多个邮箱用分号隔开
# 4)设置发件人信息
mail['From'] = '18380732786@163.com'
# 5)正文
# 正文类型:plain 	-   普通文字内容、html	 -   超文本
text = MIMEText('尊敬的领导,以下是本周的工作内容。。。。。', 'plain')
mail.attach(text)
5.发送邮件
#连接对象.sendmail(发件人,收件人,邮件对象.as_string())
connect.sendmail('203351577@qq.com',mail.as_string())
6.关闭连接(关闭网站)
connect.quit()

2.发送附件

1.打开文件获得文件对象

rb是以二进制模式读取文件中的数据

f1 = open('files/1.pdf', 'rb')
f2 = open('files/2.jpg', 'rb')
f3 = open('files/3.xlsx', 'rb')
2.创建附件对应的文本对象
a2 = MIMEText(f2.read(), 'base64', 'utf-8')
a3 = MIMEText(f3.read(), 'base64', 'utf-8')
a1 = MIMEText(f1.read(), 'base64', 'utf-8')
3.设置附件信息

设置附件内容的显示位置于附件中 filename必须是英文名字

a1['Content-Disposition'] = 'attachment;filename="data.pdf"'
a2['Content-Disposition'] = 'attachment;filename="data.jpg"'
a3['Content-Disposition'] = 'attachment;filename="data.xlsx"'
4.将附件添加到邮件中
mail.attach(a1)
mail.attach(a2)
mail.attach(a3)
connect.sendmail('18380732786@163.com', '2033515771@qq.com', mail.as_string())
connect.quit()
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText

# 建立连接
connect = smtplib.SMTP_SSL('smtp.163.com', 465)
# 登录邮箱
connect.login('18380732786@163.com', 'OUPOROHYXEHHKVTS')
mail = MIMEMultipart()
mail['Subject'] = Header('发送邮件', 'utf-8').encode()
mail['To'] = '2033515771@qq.com'
mail['From'] = '18380732786@163.com'
# plain  -   普通文本;html   -   超文本;base64  -   二进制文件(用于添加附件)
text = MIMEText('以下是所有附件内容......', 'plain', 'utf-8')
mail.attach(text)
# 添加附件
# 1.打开文件获得文件对象      rb是以二进制模式读取文件中的数据
f1 = open('files/1.pdf', 'rb')
f2 = open('files/2.jpg', 'rb')
f3 = open('files/3.xlsx', 'rb')
# 2.创建附件对应的文本对象
a1 = MIMEText(f1.read(), 'base64', 'utf-8')
a2 = MIMEText(f2.read(), 'base64', 'utf-8')
a3 = MIMEText(f3.read(), 'base64', 'utf-8')
# 3.设置附件信息      设置附件内容的显示位置于附件中 filename必须是英文名字
a1['Content-Disposition'] = 'attachment;filename="data.pdf"'
a2['Content-Disposition'] = 'attachment;filename="data.jpg"'
a3['Content-Disposition'] = 'attachment;filename="data.xlsx"'
#4.将附件添加到邮件中
mail.attach(a1)
mail.attach(a2)
mail.attach(a3)
connect.sendmail('18380732786@163.com', '2033515771@qq.com', mail.as_string())
connect.quit()

3.发送图片

1.准备图片
f1=open('files/2.jpg','rb')
2.创建图片对象
image1 = MIMEImage(f1.read())
3.给图片添加id

Conten-ID是固定写法

image1.add_header('Content-ID', '<i1>')
4.将图片关联到邮件中
mail.attach(image1)
5.在正文中使用图片

正文添加图片格式:

text = MIMEText('结果是:<br><br> <img src="cid:i1"width="300">', 'html', 'utf-8')
mail.attach(text)
connect.sendmail('18380732786@163.com', '2033515771@qq.com', mail.as_string())
connect.quit()
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage

# 建立连接
connect = smtplib.SMTP_SSL('smtp.163.com', 465)
# 登录邮箱
connect.login('18380732786@163.com', 'OUPOROHYXEHHKVTS')
mail = MIMEMultipart()
mail['Subject'] = Header('发送邮件', 'utf-8').encode()
mail['To'] = '2033515771@qq.com'
mail['From'] = '18380732786@163.com'

# 发送图片
# 1.准备图片
f1 = open('files/2.jpg', 'rb')
# 2.创建图片对象
image1 = MIMEImage(f1.read())
# 3.给图片添加id
image1.add_header('Content-ID', '<i1>')
# 4.将图片关联到邮件中
mail.attach(image1)
# 5在正文中使用图片
# 正文添加图片格式:<img src="cid:图片id值">
text = MIMEText('结果是:<br><br> <img src="cid:i1"width="300">', 'html', 'utf-8')
mail.attach(text)
connect.sendmail('18380732786@163.com', '2033515771@qq.com', mail.as_string())
connect.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值