Python编写邮件发送脚本指南
在数字化时代,自动化任务已成为提高工作效率的关键。Python作为一种功能强大的编程语言,可以轻松实现邮件发送的自动化。本文将详细介绍如何使用Python编写一个简单的邮件发送脚本,帮助你在日常工作中节省宝贵时间。

准备工作
首先,确保你的电脑上已安装Python环境。你可以从Python官网下载并安装最新版本。接下来,我们需要安装一个用于发送邮件的库——smtplib。这个库是Python标准库的一部分,无需额外安装。
导入必要的库
打开你的Python编辑器(如PyCharm、VSCode等),创建一个新的Python文件,命名为send_email.py。在文件的开头,导入以下库:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
这些库将帮助我们构建和发送邮件。
配置邮件服务器
接下来,我们需要配置邮件服务器的相关信息。以常用的Gmail为例,代码如下:
smtp_server = 'smtp.gmail.com'
smtp_port = 587
sender_email = 'your_email@gmail.com'
receiver_email = 'receiver_email@example.com'
password = 'your_password'
请将your_email@gmail.com、receiver_email@example.com和your_password替换为你的实际邮箱地址、收件人邮箱地址和邮箱密码。
构建邮件内容
使用MIMEText类来构建邮件内容。以下是一个简单的示例:
subject = 'Hello from Python'
body = 'This is a test email sent from a Python script.'
message = MIMEText(body, 'plain', 'utf-8')
message['From'] = Header(sender_email)
message['To'] = Header(receiver_email)
message['Subject'] = Header(subject)
这里,我们设置邮件的主题为Hello from Python,正文为This is a test email sent from a Python script.。你可以根据需要修改这些内容。
发送邮件
现在,我们已经准备好所有必要的信息,可以开始发送邮件了。添加以下代码:
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())
print('Email sent successfully!')
except Exception as e:
print(f'An error occurred: {e}')
finally:
server.quit()
这段代码首先创建一个SMTP连接,然后使用starttls方法启用加密,接着登录邮箱,发送邮件,并在最后关闭连接。
测试脚本
保存并运行你的脚本:
python send_email.py
如果一切配置正确,你应该会在收件人的邮箱中看到刚刚发送的测试邮件。
安全提示
在使用脚本发送邮件时,务必注意保护你的邮箱密码。避免将密码直接硬编码在脚本中,可以使用环境变量或加密存储方式来提高安全性。
扩展功能
这个基础脚本可以进一步扩展,例如添加附件、发送HTML格式的邮件、处理多个收件人等。以下是一个添加附件的示例:
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
attachment_path = 'path/to/your/file.pdf'
attachment_filename = 'file.pdf'
message = MIMEMultipart()
message['From'] = Header(sender_email)
message['To'] = Header(receiver_email)
message['Subject'] = Header(subject)
message.attach(MIMEText(body, 'plain', 'utf-8'))
with open(attachment_path, 'rb') as attachment:
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header(
'Content-Disposition',
f'attachment; filename={attachment_filename}',
)
message.attach(part)
# 发送邮件的代码保持不变
通过这种方式,你可以轻松地将附件添加到邮件中。
使用Python编写邮件发送脚本不仅简单高效,还能大大提升你的工作效率。希望本文能帮助你快速掌握这一技能,并在实际工作中发挥其潜力。快去试试吧,让自动化成为你工作的一部分!