本项目用于在你的朋友们生日前7天,3天以及当天给你自己的邮箱发送邮件作为提醒
本项目使用的Python版本为3.11.6,本地运行需要添加与下文secrets同名的环境变量。
-
首先你需要一个开启了SMTP服务邮箱,用于发送提醒邮件,此处以使用QQ邮箱为例,首先需要在QQ邮箱的设置中开启POP3/SMTP服务并记录授权码,具体操作可以参考这里。
-
在github上fork本项目,然后在你的仓库中点击Settings,进入Settings页面,点击左侧的Secrets->Actions,点击New repository secret,添加4个Secrets。
- 名为
SENDER
,值为你用来发送信息的邮箱地址。[email protected] - 名为
MAIL_PASS
,值为你的邮箱授权码。 - 名为
RECEIVER
,值为你接收信息的邮箱地址。可以为多个邮箱,用英文分号;
分隔。[email protected];[email protected] - 名为
KEY
,值为你用来加解密peopleInfo.yaml的密钥,可以为任意32 字节字符串。 - (可选)名为
WEBHOOK
,值为你飞书机器人的webhook地址,用于发送提醒信息。eg.https://open.feishu.cn/open-apis/bot/v2/hook/xxx 飞书机器人的配置可以参考这里,若使用关键词筛选,请添加关键词“生日”,“好友”。 - (可选,且只有在你配置了
WEBHOOK
且在飞书机器人采用签名校验
方式进行安全设置时需要执行)名为SECRET
,值为你飞书机器人的密钥
。
- 名为
-
在peopleInfo.yaml文件中添加你的朋友们的生日信息,格式如下(可参照/config/peopleInfo_example.yaml):
Name: 朋友的名字 Birthdate: 朋友的生日,格式为yyyy-mm-dd,年份不知道的话填0000,月日必须填写正确。 Calendar : 阴历(lunar)或者阳历(solar) Email: 朋友的邮箱地址,可选,不填写则不会在生日当天给朋友发送邮件。(目前不支持)
例如:
- Birthdate: '1879-2-24' Calendar: solar Email: '' Name: 爱因斯坦
-
在你的仓库中点击Actions,点击左侧的Birthday Reminder,点击右侧的Run workflow,点击Run workflow,即可开始运行测试。
-
成功后会在每天的早上北京时间6:30开始执行,每天执行一次,你可以在Actions中查看执行结果。若有符合条件的朋友生日快到了,则会在你的邮箱中收到提醒邮件。
-
如需修改相关信息,可以在本地添加环境变量
KEY
后运行decrypt.py解密peopleCipherInfo.yaml文件,修改后手动执行一次main.py,最后将得到的新的peopleCipherInfo.yaml上传到自己的仓库即可完成更新。
本项目基于birthdayBot修改而来,感谢原作者。
MIT License
Copyright (c) 2023 龙雀