Ограничить количество отправляемых писем на сайте
Как ограничить количество отправляемых сообщений с сайта!? Нужно ли вообще ограничивать количество отправляемых сообщений!? У нас на домене ограничение в 500 сообщений в день! И когда этот лимит будет исчерпан, то доступ к файлу, где стоит отправка писем просто блокируется!
Потом приходится идти к этому файлу, восстанавливать права. Потом чистить весь тот мусор, который отправлен в виде коментов на сайта.
Я надеюсь, что у вас руки отсохнут за ваши дела!
Немного отвлеклись!
Прейдем к алгоритму…
1.Если ранее время было записано, то получим его в переменную и сравниваем с интервалом, который установлен на странице пример по умолчанию на 3 часа!
2.Проверяем прошло ли то время, которое установлено в интервале…, если прошло, то разрешаем отправку письма.
Если не прошло, то отправка письма невозможна...
Устанавливаем внутрь второго блока информацию о письме и само письмо html.
Два варианта использования, самый простой, на котором можно потренироваться...
Нам понадобится переменная $send, которая будет существовать при отправке сообщения и не будет существовать если письмо не отправлено...
$send = mail("ваш емайл", "заголовок" , "сообщение");
if(!$send){echo 'Письмо не отправлено';} else {echo 'Письмо отправлено';}
Естественно, что все пункты с этой страницы должны быть выполнены... там их тоже 3,
1.-общие данные для всех писем, в том числе путь до файла html письма.
Этот код размещаем выше include($FORMA);
###################################################################
$your_email = 'ваше_имя@домен.ru';// ваш рабочий емайл
$your_site = 'адрес сайта'; // https://dwweb.ru/
$name_site = 'НАЗВАНИЕ САЙТА'; //например DWWEB.RU
$FORMA = 'form.php'; //путь до файла form.php
$begin_year = '2015'; // год созданяи сайта
$my_slogan = 'Мы лучшие'; //слоган выводится сверху
###################################################################
2.-сам каркас письма(form.php) - он в архиве
3.- и в последнем пункте берем все, что есть под пунктом 3 и вставляем в наш код...
Вот так должно получиться...
$To = $your_email;
$subject = "Новое сообщение на сайте $name_site";
$text = '<h3>Здравствуйте BOSS!</h3>
<p>Сообщение с вашего сайта <a href="'.$your_site .'">'.$name_site .'</a> </p>
<p>Сообщение : <b>'.$text_mess.'</b></p>';
include($FORMA);
if(!$send){echo 'Письмо не отправлено';} else {echo 'Письмо отправлено';}
Нам нужно значение переменной $send - отправлено ли сообщение с вашего сайта.
Если сообщение отправлено, то записываем время (функция time();) , она нам выдает:
в отдельный файл.
И в блоке №1 проверяем - записано ли время, и не прошло ли оно!
Мы сделали пример, который можно скачать, и переменную $send - сделали всегда существующей!
+ Время установили в 3 часа = 3*60*60
И если время не вышло, то будет показываться, сколько времени прошло. Иначе время будет перезаписано в файле со временем... и будет соответствующее сообщение...

подробнее.
подробнее.