自动回复:订阅 SQL 语句后 1 分钟发送


Autoresponder: Send in 1 Minute After Subscription SQL Statement

我创建了自动回复系统,用于订阅带有动态时间管道的感谢信息。

常规设置具有时间功能,例如1分钟,1天,1周等。当访客订阅我的列表时,基于 cron 的自动回复应该在选定的时间条件下发送感谢消息。但是我的 sql 查询无法正常工作。我已经尝试了很多查询,但现在没有成功。这是我的构建;

订户表

ID   mail              add_date
1    mail1@gmail.com   2015-06-16 22:11:20
2    mail2@gmail.com   2015-06-16 22:19:30

当前时间: 2015-06-16 22:20:30

SQL查询:

SELECT 
        S.* 
FROM 
        subscribers AS S
        LEFT JOIN tasks AS T ON (T.CID=2 AND S.subscriber_mail=T.subscriber_mail)
        LEFT JOIN unsubscribes AS U ON (U.CID=2 AND S.subscriber_mail=U.subscriber_mail)
WHERE
        (T.subscriber_mail IS NULL)
        AND (U.subscriber_mail IS NULL)

 AND (S.add_date > date_sub('2015-06-16 22:20:30', interval 1 MINUTE)) LIMIT 5000
它成功发送,

但是如果我为"1 天后"创建新条件,它无法正常工作,它在第一次查询后发送了相同的消息,它不会等待 1 天。

简而言之;

我想在订阅后发送 3 封邮件,1 分钟、1 天、1 个月后。

谢谢!

也许这可以解决你的问题:

SELECT * FROM 
    subscribers
WHERE
    add_date >= DATE_SUB(CURDATE(),INTERVAL 1 DAY)

如果您使用 NOW(),您将始终在查询中拥有您不需要的分钟/秒(如果您的差值是>= 一天)。