Слишком долго шлется почта

M2
На сайте с 11.01.2011
Offline
342
499

Имеется проблема: долгая отсылка формы на мыло. Форма в конце концов отсылается, но это происходит в течение секунд 30, а должно - максимум 5 секунд. Т.е. я жду полминуты до тех пор, пока мне отобразится страница с подтверждением удачной отправки. Примерно сразу же после отображения страницы прилетает и форма. Т.е. что-то эти полминуты происходит, но вот что - не могу отследить. В логах чисто. Архитектура nginx -> httpd. PHP как модуль к apache. Установлены таймауты проксирования в 600 секунд (раньше их не было, лупилась 504 на nginx).

MTA - Sendmail, но в php путь к sendmail не указан. Думал указать в php.ini, но там с какими-то параметрами указывается, я с ними не очень знаком.

А в чём ещё может быть проблема? В общем где в каких логах копать, кроме серверных?

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
kxk
На сайте с 30.01.2005
Offline
970
kxk
#1

mark2011, Нужно оптимизировать настройки сервера

Ваш DEVOPS
MU
На сайте с 01.10.2013
Offline
43
#2

504 ошибка ранее была при отправке или еще при других операциях? Если при отправке, то нужно ковырять что еще скрипт делает кроме самой отправки и на чем висим, а тестить отправку писем на голой функции mail(). Если не при отправке, и такая же история на голой mail(), то нужно проверять очередь отправки почтового сервера, может забита чем-то еще.

И, чтобы достоверно определить, что задержка не в почтовом сервере, нужно отправить письмо не из РНР. Например так:

sendmail user@somedomain.ru < /tmp/sometext.txt

Еще я соменеваюсь, что у вас действительно sendmail. Просто большинство почтовых серверов совместимы с sendmail. Скорее всего на самом деле это postfix или exim.

Хостинг на SSD от 49 руб./мес. (http://mne.ru/services/virt_hosting.shtml) + бесплатный SSL VPS/VDS на SSD в России от 75 руб./мес. (http://mne.ru/services/vps.shtml) Скидка 10% на хостинг и VPS по промокоду — SEARCHENGINES
Mik Foxi
На сайте с 02.03.2011
Offline
1076
#3

mail() тормозить не должен. Он принял почту и сам решил уже когда отправить ее, если есть очередь. Или там какой-то извращенный способ, при котором сам скрипт смотрит доставилась ли почта?

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
DV
На сайте с 01.05.2010
Offline
644
#4

Сам скрипт надо смотреть. Во многих CMS, например, специально сделана постановка письма в очередь и отправка по крону.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
N
На сайте с 06.05.2007
Offline
419
#5
foxi:
mail() тормозить не должен. Он принял почту и сам решил уже когда отправить ее, если есть очередь

Почему бы нет? Это поведение и сломать несложно. Надо делать тест из командной строки.

По-моему, достаточно частая проблема с directadmin и exim, в том что он пытается доставить почту сразу же, вместо того чтобы в очереди оставить. Настроек на эту тему там масса ( поэтому все должны просто ставить postfix).

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий