是否可以根据日期从数据库发送自动邮件?当date等于某个特定日期时,emain应该转到用户。
我在mysql中创建了我的数据库表,如下所示:
create table tb1(name varchar(20), email varchar(30), date varchar(10));
我将使用php。请建议我怎么做?
答案 0 :(得分:0)
传统方法:
取决于操作系统,你可以设置一个以一定间隔运行的计划任务(cron作业)(我认为它不一定非常准确,3-5分钟对我来说似乎没问题),从表中获取过期的行,根据投放状态(成功,失败,退回等)发送电子邮件并标记记录(我建议添加email_status
列)。您可能希望添加另一列来存储邮件服务器响应。
另一种选择更复杂。您可以编写能够发送电子邮件的本机UDF。然后,您创建调用此函数的定期event。这可能是一个很好的练习,但可能不是最好的解决方案。优点:完全在服务器端完成,无需客户端代码。缺点:创建和调试本机函数可能是一个挑战,该函数必须上传到服务器实例,逻辑驻留在数据库服务器上
答案 1 :(得分:0)
创建一个php文件,用数据库中的日期检查当前日期,如果它们匹配使用mail()将电子邮件发送给该用户。
您也可以使用CRON按照您的意愿运行文件(我建议不要超过24小时)。
答案 2 :(得分:0)
首先,作为a1ex07的回答,您使用状态字段来过滤要发送的消息。 使用查询过滤您的消息并使用循环将消息info发送到(使用get方法)php脚本(send.php),该脚本侦听要发送的消息的“查询字符串”。
要触发您的php,您可以将querylist页面包含在您的网站或Web应用程序中。