先上代码,方式一二三分别对应使用smtp不同端口号发送邮件的实现方式。
(1)端口号25:明文传输
(2)端口号456,基于SSL协议
(3)端口号578,基于STARTTLS协议
所以实现当时会有所不同,根据不同报错信息也可以看出来。

方式一:端口号25,明文传输

from email.mime.text import MIMEText
from email.header import Header
import smtplib
server = 'smtp.qq.com'
user = '***@qq.com'
pwd = '授权码'  # 开启
receiver = '****@qq.com'
subject = 'python email test'
msg = MIMEText('<HTML><H1>today is Friday!</h1></html>', 'html', 'utf-8')
msg['subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect(server, 25)
smtp.login(user, pwd)
smtp.sendmail(user, receiver, msg.as_string())
smtp.quit()

方式二:端口号456,基于SSL协议

from email.mime.text import MIMEText
from email.header import Header
import smtplib
# xpvwyhxnsrsrbabi
server = 'smtp.qq.com'
user = '***@qq.com'
pwd = '授权码'  # 开启
receiver = '***@qq.com'
subject = 'python email test'
msg = MIMEText('<HTML><H1>今天不加班!</hi></html>', 'html', 'utf-8')
msg['subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP_SSL(server, 465) # 465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的
smtp.login(user, pwd)
smtp.sendmail(user, receiver, msg.as_string())

方式三:端口号578,基于STARTTLS协议的 属于TLS通讯协议

from email.mime.text import MIMEText
from email.header import Header
import smtplib
# xpvwyhxnsrsrbabi
server = 'smtp.qq.com'
user = '***@qq.com'
pwd = '授权码'  # 开启
receiver = '****@qq.com'
subject = 'python email test'
msg = MIMEText('<HTML><H1>快下班啦!</hi></html>', 'html', 'utf-8')
msg['subject'] = Header(subject, 'utf-8')
# 方式三:587端口是STARTTLS协议的 属于TLS通讯协议,命令执行后对原文进行保护
smtp = smtplib.SMTP(server, 587)
smtp.set_debuglevel(0) # 是否为调试模式。>1即调试模式,表示输出交互调试信息
smtp.starttls()
smtp.login(user, pwd)
smtp.sendmail(user, receiver, msg.as_string())
smtp.quit()

列举一些常会遇到的报错:

常见报错一:535
报错535原因就是未将POP3/SMTP服务开启,并且第三方登录需要服务开启获取的授权码。

报错信息:

解决办法:
其中报错有个链接:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
根据链接步骤,打开qq邮箱,点击设置->账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,
这个授权码就是你接下来登录要的密码,配置完成。
注意:此时需要用授权码代替邮箱本身的Password。

常见报错二:530
错误原因: 需要一个安全的连接,例如SSL,smtp = smtplib.SMTP()。这个就是上面对应的方式二,不能使用 因此接下来我们会使用SSL的方式去登录,但是已就需要打开qq邮箱,点击设置->账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,这个授权码就是接下来登录要的密码,配置完成。

常见报错三:530 smtplib.SMTPAuthenticationError: (530, b’Must issue a STARTTLS command first.’)
原因是端口问题,不同端口需要不同的实现方式]
(https://blog.csdn.net/qq_23864697/article/details/80183854)

另外具体25,587,465端口区别见以下博文:https://blog.csdn.net/qq_23864697/article/details/80183854

Web自动化【7】——python 使用QQ邮箱发送邮件,端口号25,465,578,的区别,及错误码535,530的解决办法相关推荐

  1. python 用QQ邮箱发送邮件

    SMTP 是发送邮件的协议.Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮箱. Python对SMTP支持有smtplib 和email 两个模块,email负责构造 ...

  2. smtplib库:Python使用QQ邮箱发送邮件

    目录 前言 发送email文本消息 发送email图片与附件消息 前言 一般来说,每个App都有一个意见反馈功能.对于企业,其意见反馈自然是发送到其服务器上,而对于个人应用来说,因为使用的人相对较少, ...

  3. 使用python操作qq邮箱发送邮件

    ##历时3天,终于写完了这个代码, 以下全是干货 import smtplib from email.mime.text import MIMEText#确定发送方.邮箱授权码和接收方,邮件主题和内容 ...

  4. java qq邮箱发送端口号_java实现qq邮箱的发送

    准备工作 开启PO3/SMTP服务 打开qq邮箱>账户 记住这串授权码 会用到 java发送qq邮箱实现步骤 创建一个javase的工程 3. 编写核心代码 我这里封装了 也可以不封装 /** ...

  5. Python登录qq邮箱发送邮件(附件)

    # -*- coding: utf-8 -*- #导入smtplib和MIMETextimport smtplib,time from email.mime.text import MIMEText ...

  6. 用Python使用QQ邮箱发送邮件

    写在开头的话:发邮件当然还是用邮箱来的方便,但是这个不可以用来装B不是 向单个人发送邮件 from email import encoders from email.header import Hea ...

  7. python登录qq邮箱爬邮件_python实现QQ邮箱发送邮件

    本文实例为大家共享了python实现QQ邮箱发送邮件的详细代码,供大家参考,详细内容如下 1.代码: #!/usr/bin/python # -*- coding: utf-8 -*- import ...

  8. Python使用QQ邮箱发送多收件人email

    实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢? 代码很简单,短短几行代码就可以实现这个功能. 使用到的模块有smtplib和email这个两个模块,关于这两个模块 ...

  9. 使用QQ邮箱发送邮件,QQ邮箱的smtp设置

    首先要开启QQ邮箱的smtp服务,默认是关闭的. 登录QQ邮箱,点"设置" - "帐户". 找到"POP3/SMTP服务"和"IM ...

最新文章

  1. weka arff稀疏数据写法
  2. mysql 开启innodb win版本_MySQL安装与启动——Windows系统下
  3. 现代软件工程 第八章 【需求分析】练习与讨论
  4. 载入页面时与服务器的连接被重置。_快捷指令打不开怎么回事?安装快捷指令无法载入的解决办法...
  5. python之验证身份证号合法性的库:id_validator
  6. java: Comparable比较器,数组对象比较器
  7. ECharts 实现地图散点图上(转载)
  8. c++ 禁止 unsigned 和 signed 转换_令人头疼的C++复杂的类型转换,我们如何来攻克?我来让你头脑清醒...
  9. python单词统计、给定一个段落()_自己动手Python写一个词频统计小项目
  10. php简单多态,PHP 对象 多态性 简单图形计算器
  11. PNG隐写入门赛 WP
  12. 计算机程序设计能力考试 PAT 简介(浙大)
  13. java pdf 修改内容_生成PDF全攻略之在已有PDF上添加内容的实现方法
  14. 计算机的问卷调查的题目,新颖的调查问卷的题目
  15. 电脑自带播放器怎么倍速播放视频
  16. 为potplayer播放器添加实时中文字幕
  17. 汽车电子点火控制系统
  18. python从入门到实践18章答案
  19. C# FileStream和StreamWriter用法
  20. 电子书 VS 纸质书

热门文章

  1. 在线语音合成 5-1
  2. 初学者制作VMOS场效应管小功放
  3. 2021湖南省地区高考成绩排名查询,湖南高考排名查询方法,2021年湖南高考成绩位次全省排名查询...
  4. shell一键自动化批量安装服务
  5. 关于NSDateFormatter年份计算超前问题
  6. 菜鸟刷题之路——Q5
  7. enabled的使用
  8. Visio中如何做出弧度的文字
  9. 计算机专业必读的经典书籍
  10. ftp文件上传和下载