day6 邮件自动发送

day6 邮件自动发送
一、邮件发送的基本流程

1.准备邮箱账号和密码,密码就是授权码

账号:

密码:(授权码)

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

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

3.登录邮箱账号

connect.login('1398149718@qq.com', 'oghoscdsrqwpbafj')  # 此处放邮箱账号和邮箱授权码

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'] = '收件人邮箱账号'
4.设置发件人信息
mail['From'] = '<发件人邮箱账号>'
5.正文
# 正文类型:plain - 普通文字内容、html - 超文本
text = MIMEText('尊敬的领导,以下是本在周的工作内容:.....', 'plain', 'utf-8')
mail.attach(text)

5.发送邮件(点击发送)

connect.sendmail('1398149718@qq.com', '2950351262@qq.com', mail.as_string())   # 前面的账号是发件人账号,后面的账号是收件人的账号

6.关闭连接(关闭网络)

connect.quit()
二、发送附件

需要导的入模块

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

登录邮箱

connect.login('1398149718@qq.com', 'oghoscdsrqwpbafj')

mail = MIMEMultipart()
mail['Subject'] = Header('发送附件', 'utf-8 ').encode()
mail['To'] = 'SUNJINCHANG@qq.com'
mail['From'] = 'QQ邮箱团队 <1398149718@qq.com>'

# plain - 普通文本; html - 超文本; base - 二进制文件(用于添加附件)
text = MIMEText('下面是附件内容...', 'plain', 'utf-8')
mail.attach(text)

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

f1 = open('files/day5 字典与字符串.pdf', 'rb')
# 可以继续添加文件
# f2 = open('files/day5 字典与字符串.pdf', 'rb')

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

a1 = MIMEText(f1.read(), 'base64', 'utf-8')
# 第二个文件对象,可添加多个
# a2 = MIMEText(f2.read(), 'base64', 'utf-8')

3.设置附件信息

a1['Content-Disposition'] = 'attachment;filename= "data1.pdf"'
# 第二个附件对象,可添加多个
# a2['Content-Disposition'] = 'attachment;filename= "data2.pdf"'

4.将附件添加到邮件中

mail.attach(a1)
# 可继续添加附件到邮件中
# mail.attach(a2)

5.发送邮件

connect.sendmail('1398149718@qq.com', '2950351262@qq.com', mail.as_string())
三 、发送图片

1.准备图片(图片名不能是中文,否则发送后对方看不到图片内容)

f1 = open('files/lufei.jpg', 'rb')

2.创建图片对象

image1 = MIMEImage(f1.read())

3.给图片添加id

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

4.给图片关联到邮件中

mail.attach(image1)

5.在正文中使用图片

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

6.发送

connect.sendmail('1398149718@qq.com', '2950351262@qq.com', mail.as_string())
四、发送超文本内容

1.需要再导入一个新模块

from email.mime.image import MIMEImage
html = open('data.html', 'rt', encoding='utf-8').read()
text = MIMEText(html, 'html', 'utf-8')
mail.attach(text)

2.最后发送邮件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值