Php 如何在一个月内只向用户发送五次电子邮件

Php 如何在一个月内只向用户发送五次电子邮件,php,wordpress,Php,Wordpress,我正在写一份联系表。我需要根据用户在一个月内设置的次数向他们发送电子邮件。例如,如果用户为联系人请求设置了5,那么他将在一个月内收到5个用户的电子邮件。请帮帮我 这是我想到的第一个想法。将他们的设置存储在MySQL表中,并在一个单独的列中列出他们本月已收到的电子邮件次数。您可以有一个日常cron作业,它可以执行以下类似的操作: $select_result = mysqli_query($database_connection, "SELECT email_pref, email_this_mo

我正在写一份联系表。我需要根据用户在一个月内设置的次数向他们发送电子邮件。例如,如果用户为联系人请求设置了5,那么他将在一个月内收到5个用户的电子邮件。请帮帮我

这是我想到的第一个想法。将他们的设置存储在MySQL表中,并在一个单独的列中列出他们本月已收到的电子邮件次数。您可以有一个日常cron作业,它可以执行以下类似的操作:

$select_result = mysqli_query($database_connection, "SELECT email_pref,
email_this_month, user_id FROM users WHERE email_this_month > 0");
while($row = mysqli_fetch_array($select_result, MYSQLI_NUM)) {
 if ($row[1] =< $row[0]) {
   ///send email
   //Code to update the MySQL server, something like "UPDATE users SET email_this_month = email_this_month - 1 WHERE user_id = $row[3]";
  }
}
$select\u result=mysqli\u query($database\u connection),“select email\u pref,
电子邮件本月,来自电子邮件本月>0”的用户的用户id;
而($row=mysqli\u fetch\u数组($select\u result,mysqli\u NUM)){
如果($row[1]=<$row[0]){
///发送电子邮件
//更新MySQL服务器的代码,类似于“更新用户设置email\u this\u month=email\u this\u month-1其中user\u id=$row[3]”;
}
}
您还应该在数据库中存储一个日期,用于跟踪他们的“月份”,您可以通过SQL或PHP执行一个日期间隔命令,以确定他们注册后一个月是否已过期,如果是,请重置他们收到电子邮件的次数,并将该日期设置为当前日期,以便将来再次引用。在PHP中,通过SQL或字符串上的日期函数添加日期将起作用


或者,您可以在服务器中为每个用户存储一些会话变量或cookie,但我不确定这是否有效。我想这可能更快

你多久发一次电子邮件? 如果你每周发一次重要的电子邮件,这也是一个解决办法

你可以考虑创建不同的电子邮件列表。
每周/每天/每月两次。

创建一个文件,该文件将不时自动运行,该文件将存储用户每月希望收到电子邮件的次数以及他在当前月份收到电子邮件的次数。
然后,该文件将通过数据库中的每个用户运行。它将检查用户收到电子邮件的次数和他想要的次数。如果用户需要收到另一封电子邮件,则该电子邮件将发送给他,并更新数据库值。

当任何来宾用户向注册用户填写联系表时,我需要发送电子邮件。当用户注册时,我是否也需要保存月份,并且需要将该月份与任何来宾用户填写联系表时的当月相匹配。我需要为此设置一个cron作业吗?我只需要在任何来宾用户填写联系人表单时发送电子邮件。所以它不像新闻稿那样是订阅电子邮件?更像是跟进邮件,还是销售邮件?