Python实现邮件发送:smtplib库使用与QQ邮箱授权配置

沿途有光
沿途有光
发布时间:2026-10-13| 6人浏览过
原创

本文详解如何利用Python的smtplib库实现电子邮件发送功能。重点介绍SMTP对象的关键方法,如sendmail和login,并指导用户如何在QQ邮箱中开启SMTP服务并获取授权码。通过完整示例代码展示发送流程,帮助开发者快速掌握Python邮件自动化发送技巧。

Python邮件发送概述

本文详细解析如何使用Python实现电子邮件的自动发送,并通过具体的代码示例进行说明,为相关学习与工作提供实用参考。

实现邮件发送的核心在于利用Python标准库中的smtplib模块,具体通过调用SMTP类的相关方法来完成。

SMTP核心方法解析

在使用前,需了解SMTP对象中几个常用的核心方法:

sendmail(from, to, msg[, mopts, ropts]):该方法用于将邮件内容msg从发件人from发送至收件人to(接收者可以是列表或元组形式),并可选地设置ESMTP邮件选项mopts和收件人选项ropts。

login(user, passwd):此方法用于使用指定的用户名user和密码passwd登录SMTP服务器。

QQ邮箱SMTP授权配置

上述方法是后续实现邮件发送的基础。在编写代码前,首先需要获取用于示例的QQ邮箱SMTP授权码。

获取授权码的具体操作为:登录QQ邮箱网页版,依次点击“设置”、“账户”,向下滚动至“SMTP服务”区域,开启该服务并生成相应的授权码。

完整发送代码示例


from smtplib import SMTP
from email.header import Header
from email.mime.text import MIMEText
def main():
  # 请自行修改下面的邮件发送者和接收者
  sender = '949709967@qq.com' #发送者的邮箱地址
  receivers = ['3255308038@qq.com'] #接收者的邮箱地址
  message = MIMEText('HelloPython', _subtype='plain', _charset='utf-8')
  message['From'] = Header('Your Old Friend', 'utf-8') #邮件的发送者
  message['To'] = Header('Darling Jay', 'utf-8')  #邮件的接收者
  message['Subject'] = Header('To darling Jay', 'utf-8') #邮件的标题
  smtper = SMTP('smtp.qq.com')
  # 请自行修改下面的登录口令

  smtper.login(sender, 'bfxnuspuivpebbij') #QQ邮箱smtp的授权码
  smtper.sendmail(sender, receivers, message.as_string())
  print('邮件发送完成!')
if __name__ == '__main__':
  main()

代码执行发送成功后,登录测试用的QQ邮箱,即可在收件箱中查看并确认已成功收到邮件。

至此,一个基于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 算法库。