python3利用smtplib通过qq邮箱发送邮件方法示例


Posted in Python onDecember 03, 2017

前言

本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容。

详细代码参考说明:Python3 SMTP发送邮件

0.了解qq邮箱的SMTP

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口995) SMTP服务器(端口465或587)
qq.com pop.qq.com smtp.qq.com

SMTP服务器需要身份验证。

1.开启qq邮箱的smtp服务

如何打开POP3/SMTP/IMAP功能?

为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP/IMAP的开关。系统缺省设置是“关闭”,在用户需要这些功能时请“开启”。 首先,登录邮箱,进入设置-帐户;

python3利用smtplib通过qq邮箱发送邮件方法示例

然后,在“帐户”设置中,找到设置项,进行设置,如下:

python3利用smtplib通过qq邮箱发送邮件方法示例

最后,保存设置,即打开了相应的服务。

2.代码

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender='XXXXXXX@qq.com' # 发件人邮箱账号
my_pass = 'xxxxxxxxxxxx'    # 发件人邮箱密码(当时申请smtp给的口令)
my_user='xxxxxx@xx.com'  # 收件人邮箱账号,我这边发送给自己
def mail():
 ret=True
 try:
  msg=MIMEText('填写邮件内容','plain','utf-8')
  msg['From']=formataddr(["发件人昵称",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
  msg['To']=formataddr(["收件人昵称",my_user])    # 括号里的对应收件人邮箱昵称、收件人邮箱账号
  msg['Subject']="邮件主题-测试"    # 邮件的主题,也可以说是标题

  server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是465
  server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
  server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
  server.quit()# 关闭连接
 except Exception:# 如果 try 中的语句没有执行,则会执行下面的 ret=False
  ret=False
 return ret

ret=mail()
if ret:
 print("邮件发送成功")
else:
 print("邮件发送失败")

注意:如果收件人地址错误,但代码还是会提示"邮件发送成功",如果是地址错误在qq邮箱中会收到"来自qq.com的退信"

3.效果

发送成功

python3利用smtplib通过qq邮箱发送邮件方法示例
发送

如果在一般邮件中没看到,可以在垃圾邮件中查看

python3利用smtplib通过qq邮箱发送邮件方法示例
接收

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python学习之Django的管理界面代码示例
Feb 10 Python
python读取中文txt文本的方法
Apr 12 Python
Django中反向生成models.py的实例讲解
May 30 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
Oct 16 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
Python数据类型之List列表实例详解
May 08 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
pandas中ix的使用详细讲解
Mar 09 Python
python中pivot()函数基础知识点
Jan 03 Python
Python中类的初始化特殊方法
Dec 01 #Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 #Python
Python实现调度算法代码详解
Dec 01 #Python
Python进阶学习之特殊方法实例详析
Dec 01 #Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 #Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 #Python
vscode 远程调试python的方法
Dec 01 #Python
You might like
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
JS功能代码集锦
2016/05/04 Javascript
Ionic快速安装教程
2016/06/03 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
Python使用百度api做人脸对比的方法
2019/08/28 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
研讨会主持词
2014/04/02 职场文书
团支部建设方案
2014/05/02 职场文书
宣传工作经验材料
2014/06/02 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
公务员个人年终总结
2015/02/12 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏