Comment notify. Невозможно отправить e-mail.

Аватар пользователя chimir chimir 30 июня 2014 в 22:25

Добрый вечер.
Установил на сайте модуль Comment notify, и при отправки комментариев иногда появляется ошибка

Невозможно отправить e-mail. Свяжитесь с администратором сайта, если проблема повторяется

поискав по форуму и гуглу, обратился с этой проблемой к хостеру(агава), они посмотрели почтовые логи, говорят что с их стороны все нормально. В одном из постов прочитал, что подобная проблема была из-за нехватки памяти(memory_limit 128M), обратился к хостеру, они меня временно(для проверки) перевели на другой тариф(memory_limit 256M) ошибка все же появляется.

Кто сталкивался с такой проблемой, и как с этим бороться?

Комментарии

Аватар пользователя chimir chimir 1 июля 2014 в 14:04

"sandul" wrote:
Проблема скорее всего у хостера.

а что может быть, что у них просить?

Аватар пользователя chimir chimir 1 июля 2014 в 14:48

"ttenz" wrote:
Какие то письма вообще отправляются

да письма отправляются, но не всегда

Аватар пользователя chimir chimir 2 июля 2014 в 19:19

Вот что написали в тех поддержке

Quote:
Обратите внимание на то, что особенность отправки почты с виртуального хостинга такова, что письма можно отправлять не чаще, чем
1 раз в 0,3с. Если отправлять письма скриптом, то они отправляются сразу пачкой и не проходят в этот интервал. Легче всего этого избежать, добавив в скрипты sleep(1); после mail(), и тогда письма будут отправляться нормально.
То есть, если скрипт для отправки писем имеет следующий вид:

<?php
mail("mail", "тема", "Сообщение1");
mail("mail", "тема", "Сообщение2");
?>

второе сообщение не будет отправлено, т.к. установлена задержка между отправками писем для того, чтобы снизить нагрузку на сервер при массовой отправке писем т.е. чтобы хостинг не использовался как спам-ресурс. Поэтому, чтобы второе письмо тоже доходило, необходимо установить задержку между отправкой писем, например так:

<?php
mail("mail", "тема", "Сообщение1");
sleep(1);
mail("mail", "тема", "Сообщение2");
?>

Либо с помошью usleep(); в мкс. Задержка должна быть не менее 350 мс.

Возможно ли прописать sleep(1), если да, то как?