python利用smtplib实现QQ邮箱发送邮件


Posted in Python onMay 20, 2020

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。
下面是一个利用smtplib,实现QQ邮箱发送邮件的例子。

首先必须要打开QQ邮箱的smtp服务,在QQ邮箱个人主页的  设置-账户 中开启。如图:

python利用smtplib实现QQ邮箱发送邮件

成功开启后点击生成授权码 ,得到的密码为smtp发送邮件时的登录密码。

一个发送邮件的简单实例:

from smtplib import SMTP_SSL 
from email.mime.text import MIMEText 
from email.header import Header 
 
email_from = "123456@qq.com" #改为自己的发送邮箱 
email_to = "654321@qq.com" #接收邮箱 
hostname = "smtp.qq.com" #不变,QQ邮箱的smtp服务器地址 
login = "123456@qq.com" #发送邮箱的用户名 
password = "xddflpwqesfkbidf" #发送邮箱的密码,即开启smtp服务得到的授权码。注:不是QQ密码。 
subject = "python+smtp" #邮件主题 
text = "send email" #邮件正文内容 
 
smtp = SMTP_SSL(hostname)#SMTP_SSL默认使用465端口 
smtp.login(login, password) 
 
msg = MIMEText(text, "plain", "utf-8") 
msg["Subject"] = Header(subject, "utf-8") 
msg["from"] = email_from 
msg["to"] = email_to 
 
smtp.sendmail(email_from, email_to, msg.as_string()) 
smtp.quit()

脚本执行结果:

python利用smtplib实现QQ邮箱发送邮件

PS:如果遇到SMTP_SSL语句报错(UnicodeDecodeError:'utf-8' codec can't decode),可能是因为计算机名中含有中文导致的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
python访问系统环境变量的方法
Apr 29 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
python使用mysql数据库示例代码
May 21 Python
Python遍历pandas数据方法总结
Feb 09 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
python如何调用字典的key
May 25 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 #Python
Python读取本地文件并解析网页元素的方法
May 21 #Python
详解Python中的四种队列
May 21 #Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 #Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 #Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 #Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 #Python
You might like
php 禁止页面缓存输出
2009/01/07 PHP
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
认识延迟时间为0的setTimeout
2008/05/16 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
jquery easyui使用心得
2014/07/07 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
python打开使用的方法
2019/09/30 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
爱情保证书大全
2014/04/29 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis