【问题标题】:Sending Automatic email in PHP?在 PHP 中发送自动电子邮件?
【发布时间】:2016-04-27 16:00:09
【问题描述】:

我已经创建了一个注册,成功注册后用户会收到一封有关登录详细信息的电子邮件(当用户单击提交按钮时会发生这种情况)。但我坚持在 5 分钟和 20 天后自动向同一用户发送另一封电子邮件用户已注册。在mysql数据库中注册时间保存为Time_created。(时间戳)。[2016-04-26 10:25:30]。有什么可能的方法。

这是我从表单发送电子邮件的代码,它可以正常工作。

$r = $_GET['rid'];
    $aaaa= mysql_query("SELECT email FROM gotest WHERE ID= '$r'");
    $bbbb = mysql_fetch_array($aaaa);
    $email = $bbbb['email'];


    $to      = $email;

    $subject = ' Site| login '; 
    $message = '

        Thanks for signing up!
        Your account has been created, you can login with the following credentials.

        ------------------------
        Username: '.$name.'
        Password: '.$pass.'


        ------------------------ ';


    $headers .= 'From:noreply@xxx.net' . "\r\n";
    $headers .= 'Bcc:zzz@xxx.net' ."\r\n";
    mail($to, $subject, $message, $headers);

【问题讨论】:

  • 您必须设置一个每 5 分钟运行一次的 CRON 作业,并检查数据库中最近几分钟注册的用户。做同样的事情 20 天。
  • @bub 不,我的意思是我想在 5 分钟后向同一用户发送另一封不同内容的电子邮件
  • @MarioPlantosar 请问有什么例子吗?

标签: php email cron


【解决方案1】:

注册时添加mail send date & set no_of_email_send=1。设置一个 cron 来检查 mail_send_date + 5 mints > now() 和 no_of_email_send == 1。如果满足此条件,则发送第二封电子邮件并更新 mail send date & set no_of_email_send=2。如果no_of_email_send == 2 然后check mail send date + 20days > now() 然后发送第三封电子邮件并更新邮件发送日期和set no_of_email_send=3 您也可以使用单个查询进行验证。

【讨论】:

  • 我对 Cron 不熟悉。你能用我的代码告诉我怎么做吗。非常感谢
  • cron 是基于时间的作业调度程序。 cron 使用户能够安排作业(命令或 shell 脚本)在特定时间或日期定期运行。它通常用于自动化系统维护或管理。在谷歌中搜索“如何设置 cron”(根据您的操作系统)或点击链接:thesitewizard.com/general/set-cron-job.shtmlaskubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
  • 不需要表中的附加字段“no_of_email_send(t)”。您可以像这样使用mysql查询“SELECT id FROM users WHERE time_created >= DATE_ADD(NOW(), INTERVAL 5 MINUTE) AND time_created
  • 这是你的逻辑,我只建议了方法
猜你喜欢
  • 2013-10-31
  • 2011-10-22
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 2011-09-16
  • 1970-01-01
相关资源
最近更新 更多