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

yipeiwu_com6年前Python基础

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

下面是一个利用smtplib,实现QQ邮箱发送邮件的例子。

首先必须要打开QQ邮箱的smtp服务,在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()

脚本执行结果:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用Windows批处理和WMI设置Python的环境变量方法

大概在Python2.7.xx以前,安装Python时环境变量是需要自己设的,所以自己做了一个批处理文件.bat来设置环境变量Path,通过WMI命令wmic来实现。 ::检查pat...

Python HTMLParser模块解析html获取url实例

HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。HTMLParser采用的是一种事件驱动的模式,当HTM...

flask实现验证码并验证功能

flask实现验证码并验证功能

什么是Flask? Flask是一个用Python编写的Web应用程序框架,Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature。&nb...

Python 异步协程函数原理及实例详解

Python 异步协程函数原理及实例详解

这篇文章主要介绍了Python 异步协程函数原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、 asyncio 1.p...

用Python shell简化开发

用Python shell简化开发

Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务自动化,Python 生态系统有丰富的框架和库...