Периодически отправлять почту через php скрипт

Я работаю над автоматической системой мониторинга. Я сделал приложение.NET с базой данных MySQL. Для этого я разработал обычную панель ADMIN, в которой администратор может войти в систему и получать необходимые отчеты по различным запросам в базе данных. На панели также есть "сводный отчет", который представляет собой грубое еженедельное резюме. Теперь я хочу, чтобы этот отчет (весь текст) автоматически отправлялся на какое-то электронное письмо "xxxxx@xxx.com" с семидневным периодом. Ранее я использовал несколько PHP-скриптов для отправки электронной почты при нажатии кнопки "Отправить". Как показано ниже.

<?php
if(isset($_POST['isPost']))
{
$header="From:".$_POST['customer_mail']."\r\nName:".$_POST['name']."\r\nCity:".$_PO        ST['city'];
$subject = $_POST['title'];
$message="From:$_POST[customer_mail]\r\nName:$_POST[name]\r\nPhone:$_POST[city]\r\n        \r\n\r\n\r\n".$_POST['details'];
$to = 'xxxxxxxxx@xxx.com';

$send_contact=mail($to,$subject,$message,$header);

if($send_contact)
{
echo "<h6 style='text-align:center;color:green'>Sent Successfully</h6>";
}
else
{
echo "<h6 style='color:red'>Error sending e-mail'</h6>";
}
}
?>

это нормальный скрипт отправки почты, который работает нормально. Но для вышеуказанной цели я хочу, может ли кто-нибудь помочь мне периодически и автоматически устанавливать это действие или указать мне правильное направление, как это сделать. Я гуглил такой скрипт php, но не получил удовлетворительных результатов. ~ С уважением

4 ответа

Вы можете сделать это с помощью cronjobs. Длительный процесс, который выполняет команды в заданные времена / даты / интервалы.

В зависимости от того, какая у вас система, существуют разные методы.

Если у вас есть скрипт на веб-сервере, кто-то работает для вас / служба Webhost

Попросите системного администратора запустить скрипт с помощью cronjob. Или найдите любую справочную документацию, если вы можете настроить ее самостоятельно в любой админ-панели. Спросите своего веб-хостера / системного администратора для получения дополнительной информации.

Если у вас есть скрипт на вашем локальном компьютере:

UNIX

Попробуйте прочитать о crontab о том, как запустить скрипт php, или о любом другом скрипте.

Например тип crontab -e и добавьте строку ниже в ваш crontab, cronjob будет запускать ваш скрипт каждый час:

00 * * * * /usr/local/bin/php /home/Low-pointer/myscript.php

Вот еще немного информации, если вы хотите играть с интервалами

Windows

Если вы используете Windows, вы можете использовать запланированные задачи для запуска команды php.

Например, добавьте следующую команду в планировщик: C:\wamp\bin\php\php.exe -f C:\wamp\www\my_script.php

Вы также можете использовать веб-сервисы cron ( Google it). Это онлайн-сервисы, которые запускают страницу (например, на вашем веб-сервере) в назначенное время. Бесплатно или платно.

Вы можете использовать Cpanel для отправки расписаний по электронной почте через cronjob(если вы его используете). Как только вы откроете cpanel, вы получите систему crontab. Добавьте ваш текущий код в файл (xx.php) и добавьте эту команду в crontab в cpanel,

/usr/bin/php -q /home/public_html/xx.php

Как все уже сказали, вы должны использовать cronjob для выполнения своей задачи. Я предполагаю, что вы используете ОС Linux в качестве рабочей среды. Итак, вам нужно:

1) Конечная точка php (например, www.mywebsite.com/emailsend.php) ИЛИ сценарий php CLI, который при вызове отправляет письмо.

2) Правильное правило crontab

Ниже приведен пример простого сценария оболочки ( mailsend.sh), который вызывает конечную точку с помощью CURL и сохраняет html-файл с возможным ответом, данным веб-сервером.

#!/bin/bash

curl http://www.mywebsite.com/emailsend.php -o /path/to/my/mailsendreport/"$(date '+%Y-%m-%d-%H-%M-%S')".html

Чтобы добавить запланированное задание в cron

crontab -e

затем добавьте правило, как показано ниже

50 23 * * 6 sh /path/to/mailsend.sh  

Что значит "50 23 * * 6"? Это означает, что каждый шестой день недели, в 23-й час, в минуту 50 будет вызван ваш скрипт sh, а затем отправлено ваше веб-приложение и электронное письмо.

Как только я написал небольшой документ об этом, вы можете увидеть это здесь

ура

Вы ищете "Cron работу".

Изменить: или так как это звучит так, как будто вы находитесь в Windows, "запланированные задачи"

Другие вопросы по тегам