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分割文件的常用方法
Nov 01 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
python学生管理系统代码实现
Apr 05 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
信用卡效验程序
2006/10/09 PHP
PHP生成静态页面详解
2006/12/05 PHP
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
使用python 获取进程pid号的方法
2014/03/10 Python
sqlalchemy对象转dict的示例
2014/04/22 Python
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
基于Django实现日志记录报错信息
2019/12/17 Python
python属于解释型语言么
2020/06/15 Python
python实现按日期归档文件
2021/01/30 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
试用期转正员工自我评价
2014/09/18 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
展览会邀请函
2015/02/02 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书