欢迎再次回到我们的Python邮件发送系列文章!
在上一篇文章中,我们成功搭建了使用Python发送邮件的基础环境,并学会了如何连接到SMTP服务器。今天,我们将继续深入,学习如何编写一封完整的邮件内容,并通过Python将其发送出去。
一、创建邮件内容
在Python中,email模块提供了丰富的类和方法,让我们能够轻松地构建邮件内容。对于简单的文本邮件,我们可以使用email.mime.text.MIMEText类。

from email.mime.text import MIMEText# 邮件正文内容message_text = "你好,这是一封来自Python的邮件!
希望你喜欢Python编程的乐趣。"# 创建邮件对象# 注意:这里的'plain'表示纯文本,'utf-8'是字符编码message = MIMEText(message_text, 'plain', 'utf-8')# 设置邮件的头部信息# 发件人、收件人和邮件主题都是邮件头部的重要部分message['From'] = 'your_email@gmail.com' # 请替换成你的邮箱地址message['To'] = 'receiver_email@example.com' # 请替换成接收者的邮箱地址message['Subject'] = 'Hello from Python!' # 邮件主题
二、发送邮件
现在,我们已经有了邮件内容(包括正文和头部信息),接下来就是通过SMTP服务器发送邮件了。我们将复用之前文章中创建的SMTP连接逻辑,来完成发送任务。
import smtplib# SMTP服务器和端口(以Gmail为例)smtp_server = 'smtp.gmail.com'port = 587# 你的Gmail账号和密码(或应用专用密码)email = 'your_email@gmail.com' # 请替换成你的邮箱地址password = 'your_app_specific_password' # 请替换成你的Gmail应用专用密码try: # 创建一个SMTP连接 server = smtplib.SMTP(smtp_server, port) server.starttls() # 启用TLS加密 server.login(email, password) # 登录 # 发送邮件 # 注意:sendmail方法的第一个参数是发件人邮箱,第二个参数是接收者邮箱列表(即使只有一个接收者也要用列表形式),第三个参数是邮件内容对象 server.sendmail(email, [message['To']], message.as_string()) print("邮件发送成功!
")finally: # 关闭SMTP连接 server.quit()
注意:
请确保将your_email@gmail.com、your_app_specific_password、receiver_email@example.com等占位符替换成你自己的邮箱地址、Gmail应用专用密码和接收者邮箱地址。如果你使用的是其他邮件服务提供商(如Outlook、QQ邮箱等),请相应地更改SMTP服务器地址、端口号以及可能的登录验证方式。结语
恭喜你,现在你已经学会了如何使用Python编写并发送一封简单的文本邮件!
在下一篇文章中,我们将进一步探索如何发送HTML邮件和带附件的邮件,让你的邮件内容更加丰富多彩。请继续关注我们的系列文章,不要错过任何精彩内容!