python每天定时发送邮件
时间: 2023-08-28 20:06:14 浏览: 210
python每天定时执行任务
5星 · 资源好评率100%
你可以使用 Python 的 smtplib 和 schedule 库来实现每天定时发送邮件的功能。首先,你需要编写一个发送邮件的函数,并且设置好邮件的收件人、发件人、主题和正文等信息。然后,使用 schedule 库来设置定时任务,让程序每天在指定的时间执行发送邮件的函数即可。
下面是一个简单的示例代码:
```python
import smtplib
import schedule
import time
def send_email():
# 设置邮件信息
recipient = "recipient@example.com"
sender = "sender@example.com"
subject = "Daily Report"
body = "Hello, this is your daily report."
message = f"From: {sender}\nTo: {recipient}\nSubject: {subject}\n\n{body}"
# 连接 SMTP 服务器并发送邮件
smtp_server = "smtp.example.com"
smtp_port = 587
smtp_username = "username"
smtp_password = "password"
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(smtp_username, smtp_password)
server.sendmail(sender, recipient, message)
print("Email sent successfully.")
# 设置定时任务,每天在指定时间发送邮件
schedule.every().day.at("10:00").do(send_email)
# 运行程序,直到程序被中断
while True:
schedule.run_pending()
time.sleep(1)
```
在上面的代码中,我们首先定义了一个 `send_email` 函数来发送邮件。然后,我们使用 `schedule` 库来设置每天在上午 10 点执行一次 `send_email` 函数的定时任务。最后,我们使用一个无限循环来不断地检查是否有定时任务需要执行,以及每次执行任务之间都要暂停一秒钟,避免程序占用过多 CPU 资源。
阅读全文