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 相关文章推荐
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
在CMD命令行中运行python脚本的方法
May 12 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
如何通过python画loss曲线的方法
Jun 26 Python
详解python和matlab的优势与区别
Jun 28 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
Python中的套接字编程是什么?
Jun 21 Python
python的变量和简单数字类型详解
Sep 15 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
跟我学Laravel之快速入门
2014/10/15 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
显示、隐藏密码
2006/07/01 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
Python读写Excel文件的实例
2013/11/01 Python
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python检测远程端口是否打开的方法
2015/03/14 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
环保公益策划方案
2014/08/15 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
总结会主持词
2015/07/02 职场文书
《山中访友》教学反思
2016/02/24 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
导游词之青岛崂山
2019/12/27 职场文书