python 发送qq邮件的示例

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邮件的资料请关注我们其它相关文章!

(0)

相关推荐

  • python实现QQ邮箱发送邮件

    本文实例为大家分享了python实现QQ邮箱发送邮件的具体代码,供大家参考,具体内容如下 1.代码: #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header mail_host="smtp.qq.com"#设置的邮件服务器host必须是发送邮箱的服务器,与接收邮箱无关. mail_user=&

  • 浅谈Python用QQ邮箱发送邮件时授权码的问题

    QQ邮箱最新推出了一个授权码,需已验证的手机号向QQ邮箱服务器发送一条短信获得.该授权码用于第三方客户端登录,代替了第三方登录时使用的个人邮箱密码. 在测试过程中遇到两个问题: 1.提示需建立SSL安全连接.于是将smtplib.SMTP() 改成了smtplib.SMTP_SSL() 2.运行代码后,程序一直运行,但没有任何反应,等了五分钟左右,最后只好ctrl+c停止.查原因才知道,QQ邮箱的SMTP服务端口不是默认的25.改为465之后就好了. (使用标准的25端口连接SMTP服务器时,使

  • selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮箱登录地址为:https://mail.qq.com/ from selenium import webdriver import time zhengyi = webdriver.Chrome() zhengyi.get('https://mail.qq.com/') 这一步没有遇到问题,至于为什

  • python3+selenium实现qq邮箱登陆并发送邮件功能

    本文实例为大家分享了python3实现qq邮箱登陆并发送邮件功能的具体代码,供大家参考,具体内容如下 基于selenium,使用chrome浏览器,完成qq邮箱登陆并发送发邮件功能,暂时未封装.qq邮箱和126邮箱登陆还是有一些区别的. #encoding=utf-8 from selenium import webdriver import time #启动chrome浏览器 driver = webdriver.Chrome() #进入qq邮箱登陆首页 driver.get("https:/

  • python3使用QQ邮箱发送邮件

    本文实例为大家分享了python3使用QQ邮箱发邮件的具体代码,供大家参考,具体内容如下 直接上代码 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart mail_password="密码" fromaddr = "发送者邮箱@qq.com" toaddr = "接受者邮箱@qq.com" msg =

  • python使用QQ邮箱实现自动发送邮件

    最近用到Python自动发送邮件,主要就是三步,登录邮件.写邮件内容.发送,用到的库是 smtplib 和 email,直接使用pip安装即可 我使用的是QQ邮箱,首先需要设置QQ邮箱POP3/SMTP服务 记住这个授权码,这个授权码就是Python脚本中登录邮箱时的密码,而不是你平时登录邮箱时的那个密码 一.发送普通文本邮件 #发送多种类型的邮件 from email.mime.multipart import MIMEMultipart msg_from = '1508691067@qq.c

  • Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError

    最新在学习Python的基础入门系列课程,今天学习到使用python 的内置库smtplib发送邮件内容. 使用Python发送邮件步骤简单: 创建SMTP连接 使用邮箱和密码登录SMTP服务器 创建邮件内容对象EmailMessage, 并使用set_content方法设置邮件内容 调用sendmail方法发送邮件 具体代码如下: import smtplib from email.message import EmailMessage # 定义SMTP邮件服务器地址 smtp_server

  • python学习--使用QQ邮箱发送邮件代码实例

    服务器计算数据有时需要大量的时间,使用程序发送一封邮件是一种免费便捷的通知方式,可以让我们及时收到程序中断或者程序运行完成的信息,而不用一直盯着屏幕看.以下以python为例写一个邮件发送程序: import smtplib from email.mime.text import MIMEText from email.header import Header class Mail(object): def __init__(self,user,token): self.host = "smtp

  • python实现发送QQ邮件(可加附件)

    本文实例为大家分享了python实现发送QQ邮件的具体代码,供大家参考,具体内容如下 东西比较简单,简单讲一下,直接贴代码了,其他邮箱都类似. 1.首先在qq 邮箱里面把stmp服务 打开 2.拉到下面,开启第一个,发送短信验证后会得到一个授权码: 3.代码,要注意的地方我都贴了注释: # coding=utf-8 import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage

  • python3通过qq邮箱发送邮件以及附件

    本文实例为大家分享了python3通过qq邮箱发送邮件以及附件的具体代码,供大家参考,具体内容如下 开启qq邮箱的smtp服务 代码: import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def Mailer(to_list,th1=None,Subject=None,unipath=None): mail_host = 'smtp.qq.com' #

  • Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解

    直接上代码实例:  #!/usr/bin/python3 import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='1638245306@qq.com' # 发件人邮箱账号 my_pass = 'xxxxxx' # 发件人邮箱密码(注意这个密码不是QQ邮箱的密码,是在QQ邮箱的SMTP中生成的授权码) my_user='1638245306@qq.com' #

  • python利用smtplib实现QQ邮箱发送邮件

    python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. 下面是一个利用smtplib,实现QQ邮箱发送邮件的例子. 首先必须要打开QQ邮箱的smtp服务,在QQ邮箱个人主页的  设置-账户 中开启.如图: 成功开启后点击生成授权码 ,得到的密码为smtp发送邮件时的登录密码. 一个发送邮件的简单实例: from smtplib import SMTP_SSL from email.mime.text import MIMEText from email

随机推荐