Как отправлять почту из php-скриптов без потери писем, если не доступен почтовый сервер?
Коллеги, добрый день.
Помогите, пожалуйста, в решении вопроса.
Есть сайт на Bitrix. Для отправки почты используется ssmtp (через функцию mail() php).
Почтовый сервер (Postfix) стоит в другом месте, территориально.
Сайт и почтовый сервер в одном домене (www.example.com и mail.example.com, соответственно).
Проблема в том, что если почтовый сервер по какой-либо причине не доступен, то письмо, которое отравляет сайт, теряется и не попадает к получателю, т.к. ssmtp не ведет очередь и не делает повторную отправку.
Подскажите, чем заменить ssmtp и как правильно настроить?
Я так понимаю, что нужно поставить полноценный MTA, например, postfix. Его нужно настраивать как relay? В такой конфигурации будет ли он вести очередь и повторно отправлять письма, которые не получилось доставить на почтовый сервер (например, при connection timeout)?
Или может есть что-то попроще?
СУПЕРВИЗОР - Специально подготовленный психотерапевт, осуществляющий супервизию. Основная функция С. заключается в консультировании обучающегося психотерапевта, предоставлении ему возможности рефлексировать свои профессиональные действия и свое профессиональное поведение.
ky0, Спасибо. Все получилось.
Правда настраивал postfix, через yast. Выбрал настройку с авторизацией на почтовом сервере, а потом в master.cf закомментировал
smtp inet n - n - - smtpd
Ну и в main.cf подправил под себя несколько параметров
Не знаю, проще или нет, но можно все письма ставить в очередь, делая запись в БД, проверять доступность сервера (вот тут я точно не знаю как), отправлять письмо и удалять запись из БД.
Одиночка Айс, сейчас разраба у нас нет, поэтому и сказал, что ни кто не будет писать модуль. Сам я только сервера админю, в битрикс не лезу. Поэтому и смотрю в первую очередь на варианты, как сделать на уровне ОС и софта, не вмешиваясь в битрикс.
В прошлом были случаи, когда делали модуль, а после обновления модуль переставал работать.