python3发送qq邮件

编程入门 行业动态 更新时间:2024-10-09 16:31:34

python3发送qq<a href=https://www.elefans.com/category/jswz/34/1770920.html style=邮件"/>

python3发送qq邮件

本次学习用python发送QQ邮箱

1、导入所需要的包

2、设置账号

3、把发送邮件封装成函数

4、发送纯文本格式的邮件

5、发送html格式的邮件

6、发送带附件的邮件

发送带附件的,如果附件名是中文,注意用上图的格式,否则收到的邮件就会变成这样

7、发送html带图片的邮件

我用的是QQ邮箱,设置,然后获取所需授权码

第一步,打开设置——账户

第二步,往下拉,找到账户安全

第三步,将第一项开启

第四步,获取授权码

附送源代码:

import smtplib

from email.mime.text import MIMEText

from email.header import Header

from email.mime.multipart import MIMEMultipart

from email.mime.image import MIMEImage

host='smtp.qq'

user='1366441541@qq'

#授权码

pwd='xxx'

receive=['1280147527@qq']

'''

单独发送模块

'''

def send(msg):

try:

smtp = smtplib.SMTP()

smtp.connect(host, 25)

smtp.login(user, pwd)

smtp.sendmail(user, receive, msg.as_string())

smtp.quit()

print("邮件发送成功!")

except smtplib.SMTPException as e:

print("失败", e)

'''

发送文本格式邮件

'''

def sendtext():

# 第一个是文本内容;第二个是文本参数,plain表示纯文本格式;第三个编码格式

content = "这是一首简单的小情歌" \

"愿你聆听、幸福"

msg = MIMEText(content, 'plain', 'utf-8')

#from表示发件人显示内容

msg['from'] = Header("from妞妞", 'utf-8')

#to表示收件人显示内容

msg['to'] = Header('to大宝', 'utf-8')

# subject,邮件标头

subject = 'python 邮件测试'

msg['subject'] = Header(subject, 'utf-8')

send(msg)

'''

发送HTML格式邮件

'''

def sendhtml():

content="""

学习python,菜鸟教程,你值得拥有!

这是一个链接

"""

msg=MIMEText(content,'html','utf-8')

msg['from']=Header("倩倩",'utf-8')

msg['to']=Header('测试老师','utf-8')

subject="这是html格式邮件测试"

msg['subject']=Header(subject,'utf-8')

send(msg)

'''

发送带附件的邮件

'''

def sendattach():

msg = MIMEMultipart()

msg['from']=Header('倩倩附件','utf-8')

msg['to']=Header('大宝附件','utf-8')

subject="python附件测试"

msg['subject']=Header(subject,'utf-8')

#正文内容

content="附件测试的正文内容"

msg.attach(MIMEText(content,'plain','utf-8'))

#构造附件1

att1=MIMEText(open('send.txt','rb').read(),'base64','utf-8')

att1['Content-Type']='application/octet-stream'

#filename写什么显示什么,为防止中午附件乱码,采用这种格式

att1.add_header('Content-Disposition', 'attachment', filename=('gbk', '', "倩倩.txt") )

#这样写,邮件能发送成功,但接受的附件名就是乱码

#att1['Content-Disposition']='attachment;filename=倩倩.txt.

#添加附件

msg.attach(att1)

#构造附件2

att2=MIMEText(open('send1.txt','rb').read(),'base64','utf-8')

att2['Content-Type']='application/octet-stream'

#att2['Content-Disposition']='attachment;filename=%s'%('大宝.txt').encode('utf-8')

att2.add_header('Content-Disposition','attachment',filename=('utf-8','','大宝.txt'))

msg.attach(att2)

send(msg)

'''

在html文本中添加图片

'''

def sendimage():

msgroot=MIMEMultipart('related')

msgroot['from']=Header('倩倩图片','utf-8')

msgroot['to']=Header('大宝图片','utf-8')

subject="python测试图片发送"

msgroot['subject']=Header(subject,'utf-8')

msgAlternative=MIMEMultipart('alternative')

msgroot.attach(msgAlternative)

content="""

学习python,菜鸟教程,你值得拥有!

这是一个链接

图片演示

"""

msgAlternative.attach(MIMEText(content,'html','utf-8'))

#指定图片目录

fp=open("WechatIMG13181.png",'rb')

msgimg=MIMEImage(fp.read())

#定义图片id,在html中引用

msgimg.add_header("Content-ID","image1")

msgroot.attach(msgimg)

send(msgroot)

sendimage()

更多推荐

python3发送qq邮件

本文发布于:2024-02-27 22:33:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766510.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:邮件   qq

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!