python 发送qq邮件的示例

 更新时间:2021年03月15日 16:49:43   作者:可爱的黑精灵  
这篇文章主要介绍了python 发送qq邮件的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下

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: 无法发送邮件")

发送HTML格式邮件

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

发送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)

发送带附件邮件

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邮件的资料请关注脚本之家其它相关文章!

相关文章

  • Django实战之用户认证(初始配置)

    Django实战之用户认证(初始配置)

    这篇文章主要介绍了Django实战之用户认证(初始配置),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 解决Python3 struct报错argument for 's' must be a bytes object

    解决Python3 struct报错argument for 's'&

    这篇文章主要为大家介绍了解决Python3 struct报错argument for 's' must be a bytes object方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • python多线程方式执行多个bat代码

    python多线程方式执行多个bat代码

    这篇文章主要为大家详细介绍了python多线程方式执行多个bat的实现代码,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 基于Python制作GIF表情包生成工具

    基于Python制作GIF表情包生成工具

    在当前无表情包不会聊天的时代,怎么也不能输在表情包数量不足上啊,今天咱们就来基于Python制作一个 gif 生成工具,用来制作表情包也太好用啦
    2023-07-07
  • Python实现异步IO的示例

    Python实现异步IO的示例

    这篇文章主要介绍了Python实现异步IO的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • 怎么快速自学python

    怎么快速自学python

    在本篇文章里小编给大家分享的是一篇关于怎么快速自学python的相关内容,有兴趣的朋友们可以学习参考下。
    2020-06-06
  • Python sublime安装及配置过程详解

    Python sublime安装及配置过程详解

    这篇文章主要介绍了Python sublime安装及配置过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python的pytest框架之命令行参数详解(上)

    python的pytest框架之命令行参数详解(上)

    这篇文章主要介绍了python的pytest框架之命令行参数详解,pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作。pytest提供了丰富的功能,包括assert重写,第三方插件,需要的朋友可以参考下
    2019-06-06
  • python Tornado异步使用场景源码解析

    python Tornado异步使用场景源码解析

    这篇文章主要为大家介绍了python Tornado异步使用场景源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 如何使用python操作vmware

    如何使用python操作vmware

    这篇文章主要介绍了如何使用python操作vmware,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论