Python调用QQ邮箱发送电子邮件的完整指南

七月
七月
发布时间:2026-10-13| 2人浏览过
原创

本文详细介绍如何使用Python的smtplib和email模块通过QQ邮箱发送电子邮件。针对常见报错,文章指导用户开启IMAP/SMTP服务并获取授权码,通过配置SSL安全连接(端口465)实现邮件发送,提供完整代码示例及错误排查方法。

前言

实际上,利用Python通过QQ邮箱发送电子邮件的操作非常简便,仅需编写少量代码即可完成该功能。

实现此功能主要依赖smtplib和email两个模块,关于这两个模块的具体方法此处不再赘述。若读者对此尚不熟悉,可参考文章:python中使用smtplib和email模块发送邮件实例。

首先介绍网上常见的使用这两个模块发送邮件的基础方法。

具体代码如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def SendEmail(fromAdd, toAdd, subject, attachfile, htmlText):
 strFrom = fromAdd;
 strTo = toAdd;
 msg =MIMEText(htmlText);
 msg['Content-Type'] = 'Text/HTML';
 msg['Subject'] = Header(subject,'gb2312');
 msg['To'] = strTo;
 msg['From'] = strFrom;
 
 smtp = smtplib.SMTP('smtp.qq.com');
 smtp.login('501257367@qq.com','password');
 try:
 smtp.sendmail(strFrom,strTo,msg.as_string());
 finally:
 smtp.close;

if __name__ == "__main__":
 SendEmail("501257367@qq.com","501257367@qq.com","","hello","hello world");

运行结果如下:

smtplib.SMTPAuthenticationError: (530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')

程序报错,提示需要建立安全连接(如SSL)。因此,下文将演示如何通过SSL方式登录并发送邮件。在此之前,需完成以下准备工作:登录QQ邮箱,依次点击“设置”->

“账户”,在POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务栏目中,开启“IMAP/SMTP服务”。随后按照提示发送指定短信至指定号码,以获取授权码。

该授权码即为后续登录时使用的密码。完成上述配置后,即可参考以下代码:

import smtplib
from email.mime.text import MIMEText
_user = "你的qq邮箱"
_pwd = "你的授权码"
_to = "501257367@163.com"

msg = MIMEText("Test")
msg["Subject"] = "don't panic"
msg["From"] = _user
msg["To"] = _to

try:
 s = smtplib.SMTP_SSL("smtp.qq.com", 465)
 s.login(_user, _pwd)
 s.sendmail(_user, _to, msg.as_string())
 s.quit()
 print "Success!"
except smtplib.SMTPException,e:
 print "Falied,%s"%e 

运行结果如下所示:


总结

至此,操作已全部完成。以上为本文的全部内容,希望本文内容能对大家学习或使用Python有所帮助。如有任何疑问,欢迎留言交流。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。