Ошибки отправки почты в мносайтовой конфигурации на виртуальной машине 5.1.2, ошибочная отправка почты на кроне для дополнительных сайтов с конфигурацией msmtp по умолчанию default
Имеем сервер с последней версией веб-окружения 5.1.2 в многосайтовой конфигурации. Для каждого сайта настройка почты выполнена согласно справки https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&LESSON_ID=6537&LESSON_PATH=3908.6488.6516.6537 с интерфейса виртуальной машины. У каждого сайта свой почтовый сервер для отправки. Корректно создался конфиг, в нем две секции - одна для сайта по умолчанию (default), вторая для дополнительного сайта (site2). Почта протестирована, все работает.
Теперь следующая проблема - для дополнительного сайта, при срабатывании почтовых событий связанных с заказами (новый заказ, изменение статуса, почтовый идентификатор и т.д.) почтовые уведомления отправляются с конфигом msmtp для основного сайта (default), а не из под своего (site2).
После общения с ТП выяснилось, что вирутальная машина до версии 5.1.2 не умела работать с разными конфигурациями msmtp для дополнительных сайтов. Было сказано, что отправка выполняется от аккаунта default - это нормально для cron, хотя поддержка отправки для разных сайтов в разных почтовый серверов была объявлена давно.
Посоветовали обновиться до версии 5.1.2 и в интерфейсе виртуальной машины еще раз пройти мастер настройки почты для всех сайтов. Этот мастер должен был добавить разделение по сайтам, чтобы по каждому сайту создавалось свое задание на кроне.
И тут началось интересное, после повторного запуска мастеров настройки почты, файл конфига msmtp принял странный вид, а именно сточка которая отвечала за пароль содержала только один символ, первый из пароля. Остальные символы, а их 12 в пароле, отсутствуют. К примеру, пароль был такой 7%cFbUvYk!}
Код
# smtp account configuration for freo.com.ua
account freo.com.ua
logfile /home/bitrix/msmtp_freo.com.ua.log
host 5.45.112.213
port 25
from robot@freo.com.ua
keepbcc on
auth on
user robot@freo.com.ua
password 7
Не знаю, может это какая-то хитрая задумка разработчиков по сокрытию пароля в открытом доступе? Пуская разработчику опровергнут или подтвердят.
Далее, еще интереснее. В папке /home/bitrix, там где расположен файл конфига создался текстовой файл с именем которое соответствует остальным символам пароля, т.е. %cFbUvYk!}
Еще несколько дополнительных вопросов к профессионалам. В crontab установлен по умолчанию запуск скрипта, который расположен тут /home/bitrix/www/bitrix/modules/main/tools/cron_events.php
Они отличаются дополнительной проверкой системных сообщений и подписки. Вопрос, можно ли править системный /home/bitrix/www/bitrix/modules/main/tools/cron_events.php, не затереться ли он при обновлении или лучше создать свой cron_events.php и расположить его, к примеру, тут /bitrix/php_interface/ ?
Та же проблема, не могу понять как событие "Регистрация нового пользователя" у второго сайта в многосайтовой конфигурации находит свой конфиг для отправки почты, а все остальные почтовые события для второго сайта отправляют через default ... загадка
поиски привели к тому что при регистрации пользователя используется ф-ия CEvent::SendImmediate которая как гласит справка: Отправляет сообщение немедленно. В отличие от CEvent::Send не возвращает идентификатор созданного сообщения. При отправке сообщения данным методом запись в таблицу b_event не производится. - видимо эта ф-ия передает как раз в аргументах для msmtp нужный конфиг для второго сайта, а не дефолтный конфиг, но как это починить для сообщений которые попадают в таблицу b_event пока не понимаю