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脚本实现网卡流量监控
Feb 14 Python
Python多线程结合队列下载百度音乐的方法
Jul 27 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Python数据可视化之画图
Jan 15 Python
Python遍历文件夹 处理json文件的方法
Jan 22 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
python实现接口并发测试脚本
Jun 25 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
python Django 反向访问器的外键冲突解决
May 20 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
Python实现滑雪小游戏
Sep 25 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初学者头疼问题总结
2006/07/08 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
js select option对象小结
2013/12/20 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
Javascript的this用法
2017/01/16 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python的变量与赋值详细分析
2017/11/08 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python实现翻译word表格小程序
2020/02/27 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
python import 上级目录的导入
2020/11/03 Python
Ajxa常见问题都有哪些
2014/03/26 面试题
公司保密承诺书
2014/03/27 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
师范类求职信
2014/06/21 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers