欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 发送qq邮件的示例

程序员文章站 2022-07-06 13:22:48
python自带了两个模块smtplib和email用于发送邮件。smtplib模块主要负责发送邮件,它对smtp协议进行了简单的封装。email模块主要负责邮件的构造。email包下有三个模块:mi...

python自带了两个模块smtplib和email用于发送邮件。smtplib模块主要负责发送邮件,它对smtp协议进行了简单的封装。email模块主要负责邮件的构造。

email包下有三个模块:mimetext,mimeimage,mimemultipart

发送纯文本qq邮件

import smtplib
from email.header import header
from email.mime.text import mimetext

sender = '888888@qq.com' # 发送使用的邮箱
receivers = ['888888@qq.com'] # 收件人,可以是多个任意邮箱

message = mimetext('这里是正文!', 'plain', 'utf-8')
message['from'] = header("发送者", 'utf-8') # 发送者
message['to'] = header("接收者", 'utf-8') # 接收者

subject = '这里是主题!'
message['subject'] = header(subject, 'utf-8')

try:
 # qq邮箱服务器主机
 # 常见其他邮箱对应服务器:
 # qq:smtp.qq.com 登陆密码:系统分配授权码
 # 163:stmp.163.com 登陆密码:个人设置授权码
 # 126:smtp.126.com 登陆密码:个人设置授权码
 # gmail:smtp.gmail.com 登陆密码:邮箱登录密码 

 smtp = smtplib.smtp_ssl('smtp.qq.com')

 # 登陆qq邮箱,密码需要使用的是授权码
 smtp.login(sender, 'abcdefghijklmn') 

 smtp.sendmail(sender, receivers, message.as_string())
 smtp.quit()
 print("邮件发送成功")
except smtplib.smtpexception:
 print("error: 无法发送邮件")

python 发送qq邮件的示例

发送html格式邮件

html = """
<html> 
 <body> 
 <h2> html </h2> 
 <div style='font-weight:bold'> 
 格式邮件
 </div> 
 </body> 
</html> 
""" 
message = mimetext(html,'html', 'utf-8') 

python 发送qq邮件的示例

发送html格式邮件带图片

html = """
<html> 
 <body> 
 <h2> html </h2> 
 <div style='font-weight:bold'> 
 格式邮件带图片
 </div> 
 <img src="cid:imagetest">
 </body> 
</html> 
"""

message = mimemultipart('related')

messagealter = mimemultipart('alternative')
message.attach(messagealter)

messagealter.attach(mimetext(html, 'html', 'utf-8'))

# 指定图片为当前目录
fp = open('test.png', 'rb')
messageimage = mimeimage(fp.read())
fp.close()

# 定义图片id,和图片中的id对应
messageimage.add_header('content-id', '<imagetest>')
message.attach(messageimage)

python 发送qq邮件的示例

发送带附件邮件

from email.mime.multipart import mimemultipart

message = mimemultipart()

message.attach(mimetext('这里一封带附件的邮件!', 'plain', 'utf-8'))

# 添加附件

# 其他格式如png,rar,doc,xls等文件同理。

attach = mimetext(open('test.txt', 'rb').read(), 'base64', 'utf-8')
attach["content-type"] = 'application/octet-stream'
attach["content-disposition"] = 'attachment; filename="test.txt"'

message.attach(attach)

python 发送qq邮件的示例

以上就是python 发送qq邮件的示例的详细内容,更多关于python 发送qq邮件的资料请关注其它相关文章!

相关标签: python QQ 邮件