python+excel日程提醒
时间: 2023-11-24 13:51:30 浏览: 70
根据提供的引用内容,可以使用Python的openpyxl库来读取Excel文件中的日程信息,并使用datetime库来处理日期和时间。然后可以使用163邮箱提醒用户。以下是一个简单的Python脚本示例:
```python
import openpyxl
import datetime
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 读取Excel文件
wb = openpyxl.load_workbook('schedule.xlsx')
sheet = wb.active
# 获取当前日期和时间
now = datetime.datetime.now()
# 遍历Excel表格,查找今天需要提醒的日程
for row in sheet.iter_rows(min_row=2, values_only=True):
date = row[0]
time = row[1]
event = row[2]
if date == now.date() and time == now.time():
# 发送邮件提醒用户
mail_host = 'smtp.163.com'
mail_user = 'your_email@163.com'
mail_pass = 'your_email_password'
sender = 'your_email@163.com'
receivers = ['user_email@example.com']
message = MIMEText('今天有一个日程:' + event, 'plain', 'utf-8')
message['From'] = Header('日程提醒', 'utf-8')
message['To'] = Header('用户', 'utf-8')
message['Subject'] = Header('今天的日程提醒', 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
# 关闭Excel文件
wb.close()
```
需要注意的是,需要将Excel文件命名为“schedule.xlsx”,并将其与Python脚本放在同一目录下。同时,需要将邮件服务器、发件人邮箱和收件人邮箱替换为自己的信息。此外,还需要在163邮箱的设置中开启SMTP服务,并生成授权码作为邮件密码。
阅读全文