
你们有没有过这种经历——在一起多少天的纪念日,明明手机日历设了提醒,到了当天还是忙忘了,等想起来已经过了午夜,连句祝福都没来得及发。或者朋友生日前一天还在想明天要记得发消息,结果第二天一忙又过去了,只能补一句迟到的“生日快乐”,自己都觉得敷衍。
这套东西最早就是为一个做情感类社群的哥们儿写的。他想在自己网站上给用户提供一个“悄悄给对象设个纪念日邮件”的小功能,到了那天自动发一封定制邮件出去,内容不是那种批量推送工具模板,要能带上具体天数、对方名字、还有一段自定义的话。后来做着做着发现场景可以拓宽——不光情侣能用,给父母设结婚纪念日提醒、给自己设每年生日那天收一封自己的信、甚至给闺蜜设个“友情节”提醒,都能套进去。
跟那种通用邮件批量推送工具工具最大的区别是,它不追求一次发几百几千封,而是聚焦在“在特定时间点发出唯一的一封邮件”。每条纪念日记录都绑定了收件人邮箱、触发日期、发送内容模板,到了设定的那一天,系统自动生成邮件并投递。内容里支持插入变量占位符,比如 {天数}、{称呼}、{自定义段落},真正发出去的时候会被替换成实际值,每封邮件都是独立的,不会让收件人觉得是批量批量推送工具的。
后台功能分成三块:一是纪念日事件管理,添加事件时要填事件名称、收件人邮箱、触发日期(公历农历都支持,农历转公历已经做了换算)、提前几天提醒(可以设置提前三天发一封预告,当天再发一封正式邮件)、自定义祝福内容。二是邮件模板管理,内置了三套不同风格的HTML模板,暖色系、简约系、手写信系,你可以在模板基础上改颜色、改排版、改字体,不用动PHP代码。三是发送日志,每一封邮件的发送状态、时间、错误原因都记录在案,如果某封邮件因为收件箱满了或者地址错误没发出去,后台会有红标提示,方便手动补发。
邮件发送走SMTP协议,支持QQ邮箱、163邮箱、Gmail、企业邮等各种常见服务商,配置的时候填SMTP服务器地址、端口、账号密码就行。SSL和TLS加密都支持,防止邮件内容在传输中被截获。另外加了发送频率控制,同一收件人一天最多收到两封系统邮件,避免因为配置错误把人家邮箱炸了。
安装方式跟常见的PHP应用差不多,源码上传到根目录,访问/install.php走安装向导,检测环境、填数据库信息、设管理员密码,装完删掉install.php。PHP 7.4到8.2都兼容,MySQL 5.7以上,Apache和Nginx都能跑。部署好之后可以先在后台手动触发一次测试发送,确认SMTP通道通不通再正式添加事件。
场景再延伸一下的话,除了个人搭建一个专属的温情小站,也可以作为插件嵌入到现有的情感类网站、婚恋平台、社区论坛里面,作为一个增值功能模块给用户使用。如果你是做付费会员制的,甚至可以把这个作为会员权益之一——付了费的会员才能设置纪念日提醒,后台可以控制开启哪些用户群体可用。


