python下的邮箱操作,程序发送邮件

我们经常可以看到在某一个网站注册时会发送一封邮件,那么这是怎么实现的呢,今天我们用python来了解一下。

第一步在要发送的邮箱里找到设置比如qq邮箱

这里一定要点击开启

然后在代码中我们引入smtplib这个包

然后import email

再引入这些

from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart

首先设置邮件 内容为空

message=MIMEMultipart('related')

其中related表示使用内嵌资源的形式,将邮件发送给对方

发送文本的话这么写

message_html=MIMEText('我是正文内容','plain','utf-8')
message.attach(message_html)

发送图片这么写
 

image_data=open('1.gif','rb')
# 设置读取获取的二进制数据
message_image=MIMEImage(image_data.read())
#关闭刚才打开的文件
image_data.close()
# 添加图片文件到邮件信息当中去
message.attach(message_image)

添加xls文件这么写

message_xlsx=MIMEText(open('table.xlsx','rb').read(),'base64','utf-8')
# 设置文件在附件当中的名字
message_xlsx['Content-Disposition']='attachment;filename="test1111.xlsx"'
message.attach(message_xlsx)

以上步骤是往一封信里添加各种内容,但还没有发送

接下来我们配置好信息发送

#设置邮箱的域名
HOST='smtp.qq.com'
# 设置邮件标题
SUBJECT='标题'
# 注意 发件人的邮箱必须先设置开始smtp协议
FROM='自己邮箱'
# 设置收件人的邮箱(可以一次性发送给多个人)
TO='目标邮箱'
# 设置邮件发件人
message['From']=FROM
# 设置邮件收件人
message['To']=TO
#设置邮件标题
message['Subject']=SUBJECT
# 获取简单邮件传输协议的证书
email_client=smtplib.SMTP_SSL()
# 设置发件人邮箱的域名和端口 端口为465
email_client.connect(HOST,'465')
# 密码千万不要写邮箱的密码 要写邮箱的授权码
result=email_client.login(FROM,'授权码')

再来一句代码发送

email_client.sendmail(from_addr=FROM,to_addrs=TO.split(','),msg=message.as_string())

ok完成了

猜你喜欢

转载自blog.csdn.net/qq_37958990/article/details/81570083