отправлять напоминания электронной почты с php и mysql БЕЗ cron-job?

Я просто сделал php-скрипт, который отправит напоминания электронной почты администраторам сайта за 2 дня до начала встречи. Я собирался автоматизировать сценарий, чтобы работать через работу cron, только для того, чтобы понять, с кем я хожу (сумасшедшие домены), похоже, не работает Cron Jobs

Есть ли способ сделать это без работы cron? Я не против идти к другому провайдеру услуг, если это так; Я довольно много искал, и до сих пор я понимаю, что мне нужны Cron Jobs для этих вещей?

Вот сценарий, который я сделал до сих пор:

<?php include "../connect-to-database.php"; ?> <?php $date = date("Ymd"); $mod_date = strtotime($date."+ 2days"); $newDate = date("m/d/Y",$mod_date); $sqlCommand = "SELECT * FROM eventcalender WHERE eventDate='$newDate'" ; $query = mysql_query($sqlCommand) or die(mysql_error()); $count = mysql_num_rows($query); if ($count >= 1){ while($row = mysql_fetch_array($query)){ $ID = $row["ID"]; $schedule_title = $row["Title"]; $schedule_description = $row["Detail"]; $importance_level = $row["importance_level"]; $meeting_datetime = $row["eventDate"]; $contacts_involved = $row["contacts_involved"]; $meeting_occurred = $row["meeting_occurred"]; $mid = mysql_insert_id(); $search_output .= "<ul> <li> <h4>".$schedule_title."</h4> <p><b>Time: ".$meeting_datetime."</b></p> <p>People/Persons involved: ".$contacts_involved."</p> <p>Meeting Occurred?: ".$meeting_occurred."</p> <a href='uniqueMeeting.php?ID=".$ID."'>View more details of this meeting</a> <p><a href='editschedulePage.php?mid=$ID'>Edit This Meeting</a></p> <p><a href='scheduleList.php?deleteid=$ID'>Delete this meeting</a></p> </li><br/> </ul>"; $sendMail = true; } } if($sendMail){ $admin = "SELECT * FROM admin" ; $queryAdmin = mysql_query($admin) or die(mysql_error()); $adminCount = mysql_num_rows($queryAdmin); $recipients = array(); if ($count >= 1){ while($row = mysql_fetch_array($queryAdmin)){ $subject ='A-CRM; UpComing Activities'; $msg = $search_output; $to = $row['email_address']; mail($to, $subject, $msg); } } } ?> 

Да, я понимаю, что я абсолютно ужасный человек для НЕ использования mysqli, и я начну, как только закончу этот сайт

Если сайт, который вы создаете, часто посещается, вы можете сохранить временную метку (или дату или время) в своей базе данных, которая будет выполняться при следующем запуске сценария. Затем включите скрипт на свой сайт (на каждой странице или просто выберите их).

Если текущее время равно или больше времени в базе данных, запустите сценарий и установите время в базе данных на значение, которое должен выполнить следующий скрипт. Таким образом, скрипт будет выполняться одним из посетителей сайта, не зная его.

замещать

 php include "../connect-to-database.php"; 

с

 php include dirname(__DIR__) . "/connect-to-database.php"; 

Попробуйте добавить Observer который будет проверять необходимость отправки писем.

Например – добавьте в свой файл init (возможно, index.php )

 <?php include DIR ."send_mail.php" ?> // your file that you describe in the question. 

Он добавит дополнительный запрос в БД, так как проверка будет выполняться каждый раз, когда пользователь входит на страницу.

Надеюсь, это поможет вам решить вашу проблему.

Очень простой и эффективный способ использования кронов. Кронки очень просты, вы будете устанавливать дату и время. Cron автоматически запускает ваш файл. Это руководство по использованию crontab: http://www.adminschoice.com/crontab-quick-reference/