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统计列表中的重复项出现的次数的方法
Aug 18 Python
跟老齐学Python之重回函数
Oct 10 Python
python实现文件快照加密保护的方法
Jun 30 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
python使用KNN算法手写体识别
Feb 01 Python
Python实现的质因式分解算法示例
May 03 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
python3正则提取字符串里的中文实例
Jan 31 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 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 全局变量范围分析
2009/08/07 PHP
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
php实现URL加密解密的方法
2016/11/17 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
PHP中SESSION过期设置
2021/03/09 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
Python中DJANGO简单测试实例
2015/05/11 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python调用java的jar包方法
2018/12/15 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
python生成器用法实例详解
2019/11/22 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
Python新手学习标准库模块命名
2020/05/29 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
财务部总监岗位职责
2014/03/12 职场文书
浅析Django接口版本控制
2021/06/26 Python
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技