При работе в тестовой или локальной среде как правило отключат работу с почтой — иначе возможна рассылка реальным клиентам всякой информации с тестового или локального сервера, что конечно же недопустимо.
Тем не менее отладку функционала работающего с почтой никто не отменял — как же быть?
Один из вариантов решений — mailhog
Сервис настраивается вместо smtp почтового сервера и всё — он ловит всю исходящую почту, для просмотра есть веб мордочка.
Для установки и настройки MailHog
Берём отсюда
https://gist.github.com/Caffe1neAdd1ct/ea28bb49baaea86c203407629b442681
установочный скрипт — запускаем.
Далее с этой же страницы берём сам скрипт запуска (я взял тот, что без авторизации — пониже который) и заменяем /etc/init.d/mailhog
Всё сервис должен работать.
Далее настраиваем веб мордочку.
Берём тут конфиг https://gist.github.com/blakethepatton/7928abb131593fd192606b681ee47b2b и вставляем в nginx (я предварительно создал сайт mailhog.mysite.loc и там уже подменил)
Всё — веб мордочка тоже должна заработать.
Далее нужно в самой системе установить mhsendmail и в конфиге php.ini указать, что при отправке почты использовать именно его.
Я ставил так
yum install go
go install github.com/mailhog/mhsendmail@latest
ln ~/go/bin/mhsendmail /usr/bin/mhsendmail
mhsendmail -h
далее идём в /etc/php.d/bitrixenv.ini
и правим
sendmail_path = mhsendmail
ребутим аппач — должно работать
у меня сразу не взлетело т.к. в настройках сайта sendmail_path был переопределён — так что если что смотрите конфиги nginx и httpd на предмет sendmail_path
после того как в php.ini добавили sendmail_path = mhsendmail можно проверить отправку письма с командной строки https://github.com/mailhog/mhsendmail
> mhsendmail test@mailhog.local <
To: Test
Subject: Test message
Some content!
EOF