开发员工生日祝福工具,录入员工生日,提前一天提醒,生日定制祝福文案,支持一键发送到员工邮箱/微信,提升员工归属感。

📅 发布时间:2026/7/11 5:17:09 👁️ 浏览次数:
开发员工生日祝福工具,录入员工生日,提前一天提醒,生日定制祝福文案,支持一键发送到员工邮箱/微信,提升员工归属感。
1. 实际应用场景描述场景某互联网公司 HR 小刘发现员工生日经常因为工作繁忙被忽略手工发祝福不仅耗时还容易遗漏。公司希望用更智能、有温度的方式在员工生日前一天自动发送个性化祝福提升团队凝聚力。目标开发一个本地/服务器运行的工具录入员工信息姓名、生日、邮箱/微信提前一天检测并生成定制祝福文案支持邮件或企业微信发送让每位员工感受到被重视。2. 痛点引入- 易遗漏人工记录易忘错过祝福时机。- 文案单一群发相同内容缺乏个性化。- 发送渠道分散邮件、微信需分别操作效率低。- 缺乏温度机械祝福降低员工归属感。- 数据管理难员工信息散乱难以统一维护。3. 核心逻辑讲解1. 数据录入员工信息姓名、生日、邮箱、微信ID存入 JSON/数据库。2. 日期检测每天运行脚本检查明天生日的员工。3. 文案生成根据员工姓名、部门、司龄等生成定制祝福语。4. 发送渠道- 邮件使用smtplib 发送- 微信调用企业微信 API 或微信机器人如 Server酱/企业微信应用5. 提醒机制可结合系统定时任务cron / Windows 任务计划每日执行。6. 模块化设计-Employee 类员工实体-BirthdayManager 类管理生日数据、检测提醒-MessageGenerator 类生成祝福文案-Notifier 类发送邮件/微信-Storage 类数据持久化4. 模块化代码Python# birthday_wish_tool.pyimport jsonimport datetimeimport smtplibfrom email.mime.text import MIMETextfrom pathlib import Pathclass Employee:员工类def __init__(self, name, birthday, email, wechat_id):self.name nameself.birthday datetime.datetime.strptime(birthday, %Y-%m-%d).date()self.email emailself.wechat_id wechat_iddef to_dict(self):return {name: self.name,birthday: self.birthday.strftime(%Y-%m-%d),email: self.email,wechat_id: self.wechat_id}staticmethoddef from_dict(data):return Employee(data[name], data[birthday], data.get(email, ), data.get(wechat_id, ))class Storage:数据持久化FILE employees.jsonstaticmethoddef load():if not Path(Storage.FILE).exists():return []with open(Storage.FILE, r, encodingutf-8) as f:data json.load(f)return [Employee.from_dict(e) for e in data]staticmethoddef save(employees):with open(Storage.FILE, w, encodingutf-8) as f:json.dump([e.to_dict() for e in employees], f, ensure_asciiFalse, indent2)class MessageGenerator:祝福文案生成staticmethoddef generate(name, years_tenure0):base f亲爱的 {name}生日快乐\nif years_tenure 0:base f感谢你加入我们 {years_tenure} 年愿新的一岁继续闪耀\nelse:base 愿新的一岁健康、快乐、收获满满\nbase —— 来自公司大家庭的祝福return baseclass Notifier:通知发送staticmethoddef send_email(to_email, subject, content, smtp_server, smtp_user, smtp_pass):msg MIMEText(content, plain, utf-8)msg[Subject] subjectmsg[From] smtp_usermsg[To] to_emailwith smtplib.SMTP_SSL(smtp_server, 465) as server:server.login(smtp_user, smtp_pass)server.sendmail(smtp_user, [to_email], msg.as_string())print(f邮件已发送至 {to_email})staticmethoddef send_wechat(wechat_id, content):# 这里模拟调用企业微信/微信机器人 API# 实际可用 Server酱、企业微信应用消息接口print(f[微信] 发送至 {wechat_id}: {content})# requests.post(WECHAT_API, json{user: wechat_id, msg: content})class BirthdayManager:生日管理def __init__(self):self.employees Storage.load()def add_employee(self, name, birthday, email, wechat_id):emp Employee(name, birthday, email, wechat_id)self.employees.append(emp)Storage.save(self.employees)print(f已添加员工{name})def check_birthdays(self):today datetime.date.today()tomorrow today datetime.timedelta(days1)birthday_people []for emp in self.employees:# 忽略年份只比较月日if (emp.birthday.month, emp.birthday.day) (tomorrow.month, tomorrow.day):birthday_people.append(emp)return birthday_peopledef send_wishes(self, smtp_configNone):to_notify self.check_birthdays()for emp in to_notify:msg MessageGenerator.generate(emp.name)if emp.email and smtp_config:Notifier.send_email(emp.email,f生日快乐 {emp.name},msg,smtp_config[server],smtp_config[user],smtp_config[pass])if emp.wechat_id:Notifier.send_wechat(emp.wechat_id, msg)def main():mgr BirthdayManager()while True:print(\n 员工生日祝福工具 )print(1. 添加员工)print(2. 检查明日生日并发送祝福)print(3. 退出)choice input(请选择操作).strip()if choice 1:name input(姓名)bday input(生日(YYYY-MM-DD))email input(邮箱可选)wechat input(微信ID可选)mgr.add_employee(name, bday, email, wechat)elif choice 2:# 模拟 SMTP 配置smtp_cfg {server: smtp.qq.com,user: your_emailqq.com,pass: your_password}mgr.send_wishes(smtp_cfg)elif choice 3:print(再见)breakelse:print(无效选择)if __name__ __main__:main()5. README 与使用说明README.md# 员工生日祝福工具一个基于 Python 的工具帮助 HR/团队管理者在员工生日前一天自动发送定制祝福支持邮件/微信提升员工归属感。## 功能- 录入员工生日、邮箱、微信- 提前一天检测生日- 自动生成定制祝福文案- 支持邮件/微信发送## 使用方法1. 安装 Python 3.x2. 安装依赖发邮件需 smtplib标准库自带3. 运行bashpython birthday_wish_tool.py4. 按菜单添加员工或手动触发检查与发送## 配置邮件在 send_wishes 中修改 smtp_config 为你的 SMTP 服务器信息。## 示例添加姓名张三生日1990-07-15邮箱zhangsancompany.com微信IDzhangsan_wx## 许可证MIT6. 核心知识点卡片知识点 说明日期处理 用datetime 比较月日忽略年份JSON 持久化 员工信息存储与读取面向对象 员工、存储、消息、通知分层管理邮件发送smtplib MIMEText 实现 SMTP 邮件可扩展通知 微信可接入企业微信 API 或第三方机器人自动化 可结合系统定时任务每日运行7. 总结这个工具的核心价值- 提升温度个性化祝福增强员工归属感。- 减少遗漏自动检测提前提醒避免错过。- 高效统一一次配置批量发送保持风格一致。- 可扩展可加入语音祝福、电子贺卡、积分奖励等。下一步建议1. 接入 企业微信/钉钉 API 实现真实消息推送。2. 增加 语音/视频祝福 生成。3. 开发 Web 管理界面 与 手机端。4. 加入 祝福记录与统计分析员工满意度。如果你需要可以把这个工具升级成 带 Web 界面的企业级生日祝福系统并接入企业微信/钉钉实时推送让它成为 HR 的智能助手。利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛