要编写一个自动发送每日电子邮件报告的 Python 脚本,并进行设置,您可以按照以下步骤进行。我们将使用 smtplib
发送电子邮件,并使用 schedule
库安排每日任务。
首先,确保您安装了必要的库:
pip install schedule
然后,您可以使用以下 Python 脚本发送每日电子邮件:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time# 电子邮件配置
SMTP_SERVER = 'smtp.example.com'
SMTP_PORT = 587
SMTP_USERNAME = 'your_email@example.com'
SMTP_PASSWORD = 'your_password'
EMAIL_FROM = 'your_email@example.com'
EMAIL_TO = 'recipient_email@example.com'
EMAIL_SUBJECT = '每日报告'def send_email():# 创建消息对象msg = MIMEMultipart()msg['From'] = EMAIL_FROMmsg['To'] = EMAIL_TOmsg['Subject'] = EMAIL_SUBJECT# 邮件正文body = '这是每日的报告内容。'msg.attach(MIMEText(body, 'plain'))try:# 连接到 SMTP 服务器server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)server.starttls()server.login(SMTP_USERNAME, SMTP_PASSWORD)text = msg.as_string()server.sendmail(EMAIL_FROM, EMAIL_TO, text)server.quit()print("邮件发送成功")except Exception as e:print(f"邮件发送失败: {e}")# 安排每日任务
schedule.every().day.at("09:00").do(send_email)print("邮件发送服务启动...")# 保持脚本运行
while True:schedule.run_pending()time.sleep(1)
设置步骤:
-
安装库:确保安装了
schedule
库。pip install schedule
-
配置电子邮件设置:
- 修改
SMTP_SERVER
为您的 SMTP 服务器地址。 - 修改
SMTP_PORT
为您的 SMTP 服务器端口(通常为 587 或 465)。 - 修改
SMTP_USERNAME
为您的电子邮件地址。 - 修改
SMTP_PASSWORD
为您的电子邮件密码。 - 修改
EMAIL_FROM
为发件人地址。 - 修改
EMAIL_TO
为收件人地址。 - 修改
EMAIL_SUBJECT
为邮件主题。
- 修改
-
调整发送时间:
schedule.every().day.at("09:00").do(send_email)
设置为每天早上 9 点发送电子邮件。根据您的需求调整时间。 -
运行脚本:保存脚本并运行。脚本会每天在设定的时间发送邮件。
注意事项:
- 确保您的 SMTP 服务器允许通过代码发送邮件,有些提供商可能会限制或需要额外的配置。
- 如果使用的是 Gmail,请确保开启“低安全性应用访问”或使用 OAuth 2.0 认证。
通过以上步骤,您可以设置一个自动发送每日电子邮件报告的 Python 脚本。