在日常工作中,我们经常需要发送邮件,比如 批量通知、营销推广、日报自动发送、服务器告警提醒等。如果手动发送邮件,不仅繁琐,而且容易出错。而 Python 提供了强大的 smtplibemail 模块,可以实现邮件的自动化发送,无论是纯文本邮件,还是带附件、HTML 格式的邮件,都可以轻松搞定!

本篇博客将介绍如何使用 Python 批量发送邮件、添加附件、发送 HTML 邮件,并结合 schedule 实现定时邮件发送,让你的工作更智能、更高效!


一、SMTP 协议简介

SMTP(Simple Mail Transfer Protocol)是用于发送邮件的协议。常见的邮件服务器及其 SMTP 服务器地址如下:

邮箱提供商

SMTP 服务器

端口

Gmail

 smtp.gmail.com

587

Outlook

 smtp.office365.com

587

QQ 邮箱

 smtp.qq.com

465(SSL)

163 邮箱

 smtp.163.com

465(SSL)

注意:某些邮箱需要开启 SMTP 服务 并生成授权码(例如 QQ 邮箱、163 邮箱)。


二、Python 发送纯文本邮件

首先,我们使用 smtplibemail 发送一封 最简单的文本邮件

1. 安装必要的库

Python 内置 smtplibemail 模块,无需额外安装。

2. 发送邮件的基本代码