day06邮件自动发送

01邮件发送基本流程

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

账号:449136584@qq.com

授权码:qahwzdzyklqncafh

2.连接邮件服务器(相当于打开邮箱网站)

import smtplib
connect = smtplib.SMTP_SSL('smtp.qq.com',465)

3.登录邮箱账号

connect.login('449136584@qq.com','qahwzdzyklqncafh')
print('邮箱登录成功!')

4.准备邮件内容(写邮件)

from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
  1. 创建空的邮件对象
mail = MIMEMultipart()
  1. 设置邮件的主题
mail['Subject'] = Header('魏博周报','utf_8').encode()
  1. 设置收件人信息
mail['To'] = '1732897743@qq.com'

4) 设置发件人信息

mail['From'] = 'WeiBo <449136584@qq.com>'
  1. 正文

正文类型:plain - 普通文字内容、html - 超文本

text = MIMEText('尊敬的领导,以下是本周的工作内容:......','plain','utf-8')
mail.attach(text)

5.发送邮件

正文类型:plain - 普通文字内容、html - 超文本

text = MIMEText('尊敬的领导,以下是本周的工作内容:......','plain','utf-8')
mail.attach(text)

5.发送邮件

connect.sendmail('449136584@qq.com','1732897743@qq.com',mail.as_string())

6.关闭连接()

connect.quit()

02发送附件

import  smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText

建立连接

connect = smtplib.SMTP_SSL('smtp.qq.com',465)

登录邮箱

connect.login('449136584@qq.com','qahwzdzyklqncafh')
mail = MIMEMultipart()
mail['Subject'] = Header('发送附件','utf-8').encode()
mail['To'] = '1732897743@qq.com'
mail['From'] = 'WEIBO<449136584@qq.com>'

plain - 普通文本; html - 超文本;base64 - 二进制文件(用于添加附件)

text = MIMEText('下面是所有的附件内容...','plain','utf-8')
mail.attach(text)

添加附件=====

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

f1 = open('files1/booker.png','rb')
f2 = open('files1/727b-kicwvzr0044819.jpg','rb')
f3 = open('files1/bisemulu.txt','rb')

2.创建附件对应的文本对象

a1 = MIMEText(f1.read(),'base64','utf-8')
a2 = MIMEText(f2.read(),'base64','utf-8')
a3 = MIMEText(f3.read(),'base64','utf-8')

3.设置附件信息

a1['Content-Disposition'] = 'attachment;filename="data1.png"'
a2['Content-Disposition'] = 'attachment;filename="data2.jpg"'
a3['Content-Disposition'] = 'attachment;filename="data3.txt"'

4.将附件添加邮件中

mail.attach(a1)
mail.attach(a2)
mail.attach(a3)

5.发送邮件

connect.sendmail('449136584@qq.com','1732897743@qq.com',mail.as_string())

6.关闭连接()

connect.quit()

03发送正文图片

建立连接

connect = smtplib.SMTP_SSL('smtp.qq.com', 465)

登录邮箱

connect.login('726550822@qq.com', 'ezvhhcqvjzpbbegd')

mail = MIMEMultipart()
mail['Subject'] = Header('发送附件', 'utf-8').encode()
mail['To'] = '726550822@qq.com'
mail['From'] = 'WEIBO <449136584@qq.com>'

准备图片

f1 = open('files/result2.png', 'rb')

创建图片对象

image1 = MIMEImage(f1.read())

给图片添加id

image1.add_header('Content-ID', '<i1>')

将图片关联到邮件中

mail.attach(image1)

在正文中使用图片

正文添加图片的格式:

html中
就是换行

text = MIMEText('结果是:<br><br> <img src="cid:i1" width="300">', 'html', 'utf-8')
mail.attach(text)

发送邮件

connect.sendmail('726550822@qq.com', '449136584@qq.com', mail.as_string())
connect.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值