Python使用smtplib和email模块实现邮件发送

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

本文介绍了如何使用Python标准库中的smtplib和email模块实现邮件发送功能。通过构建MIMEText对象设置邮件内容,利用Header处理中文标题,并调用SMTP服务器进行登录和发送。代码示例展示了完整的发送流程,包括地址格式化、身份验证及消息传输,适用于需要自动化邮件通知的场景。

本文分享了一段使用Python实现邮件发送功能的具体代码,供读者参考学习。

# -*- coding: utf-8 -*- 
# Author  :Gogh 
# @Time   :2017/11/28 16:56 
# @Email  :361910002@qq.com 
 
from email import encoders 
from email.header import Header 
from email.mime.text import MIMEText 
from email.utils import parseaddr, formataddr 
 
import smtplib 
 
def _format_addr(s): 
  name, addr = parseaddr(s) 
  return formataddr((Header(name, 'utf-8').encode(), addr)) 
 
from_addr = 'youemail@163.com' 
password = 'youpasswd' 
smtp_server = 'smtp.163.com' 
to_addr = '361910002@qq.com' 
 
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8') 
msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr) 
msg['To'] = _format_addr('管理员 <%s>' % to_addr) 
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode() 
 
server = smtplib.SMTP(smtp_server, 25) 
server.set_debuglevel(1) 
server.login(from_addr, password) 
server.sendmail(from_addr, [to_addr], msg.as_string()) 
server.quit() 

以上内容为本文的全部介绍,希望能为读者的学习带来帮助,同时也欢迎大家继续支持本站。

相关标签:

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

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 算法库。