Я перерыла этот форум, пробовала и postfix настроить, но окончательно и бесповоротно запуталась. Надо начать заново.
Проблема: не уходят уведомления с портала. Также просто php функция mail() не работает. Дано: 1) корпортал на bitrix virtual appliance 5.0.37 на выделенном сервере timeweb 2) сам портал работает с перебоями (ошибка 502), но с этим позже, возможно тут перегрузки из-за моих манипуляций.
5) Встроенный SMTP Server в состоянии: работает (Настройки модуля "Почта" )
Что я делаю? Начинаю выполнять рекомендации битрикса: 1) Включаю поддержку крона (она уже была включена в dbconn.php): define('BX_CRONTAB_SUPPORT', true); 2) Прописываю опрос кроном событий в файле /etc/crontab:
3) Через putty делаю настройки почтового сервера. Меню немного изменилось с версии 4.3, если я все верно понимаю, теперь оно на английском и до настроек почтового сервера идем так:
6. Manage sites in the pool 4. Change email settings on site default
Настраиваем. Пробуем 127.0.0.1, smtp.timeweb.ru, smtp.yandex.ru - Почта не уходит - обламываемся.
3) Начинаю курить блоги и форум (не курю, но такое уж выражение). Поверяю порты:
iptables -nL
Открываю 25 и 110 во все стороны, не помогает, после перезагрузки почему-то новые правила слетают.
4) Запутываюсь, но выясняю, что по умолчанию в данной виртуальной машине используется не знакомый мне еще по Denwer-у sendmail, а служба MSMTP, которую я в глаза не видела ни разу. Давайте попробуем настроить.
5) В комплекте bitrix virtual appliance почему-то не было конфигурационного файла для msmtp И он не создавался, когда я меняла настройки почтовика через меню машины.
Создать его можно так: touch /etc/msmtprc
Вписать (nano /etc/msmtprc) что-то вроде этого:
defaults
account default host вашsmtpхост port 25 auth on tls on tls_starttls on tls_certcheck off user вашюзер password вашпароль from адресотправителя logfile /home/msmtp.log
Тогда сама функция msmtp начинает работать (слать письма по команде из строки - Ура! что-то да пришло с этого сервера). Пример команды можно найти в инете.
5) В файле php.ini вообще не был прописан почтовик. Строчку sendmail_path про msmtp пришлось добавлять. sendmail_path = msmtp -t -i вроде бы так, уже не помню.
Почта все равно не уходит с портала
Что ему еще надо от меня? Он должен работать вообще сам, по умолчанию, на хитах из встроенного smtp- сервера
6) Читаю еще пол-форума, запутываюсь, и пишу это сообщение.
У этой проблемы много апдейтов. Начнем с того, что по хиту (в середине минуты) почта отправлялась. При этом иногда ложится апач с 502, но с этим еще разбираемся.
А поминутно, согласно правилу крона, почта фейлилась.
Сначала специалист, который помогает мне, предположил, что это потому, что я зачем-то вписала запуск скрипта cron_events.php из-под пользователя root, он выполнялся раньше, чем для пользователя битрикс, а для рута не было конфигурационного файла для msmtp по адресу /root/.msmtprc, и статус ивентов сменялся на FAIL, и последующий запуск из под пользователя битрикс уже не мог отправить почту, т.к. не было ивентов, предназначенных к отправке.
Но я делала символическую ссылку на /home/bitrix/.msmtprc в папку root согласно найденной инструкции, так что конфиг по сути был, и ничего не работало.
Сейчас у нас имеются конфиг файлы /home/bitrix/.msmtprc (для битрикса) /root/.msmtprc (для рута) /etc/.msmtprc (глобальный файл - перестраховка на будущее)
В журнале крона видно, что обращение к cron_events происходит ежеминутно, но при включении поддержки кронтаб в битриксе, почта не уходит. Она теперь даже не фейлится, а тупо не отправляется. В логе пусто. Она уходит только по хиту, если на портал кто-то зашел. Заходы на портал среди 20 сотрудников происходят, в основном, утром. Днем они просто "сидят и активно комментят", даже не обновляя страницы, зачем им это. Нам нужно, чтобы почта отправлялась по крону!
Так по пути проблема переквалифицировалась в проблему с кроном.
В файле /etc/crontab ради проверки закомментила строчку битрикса на запуск скрипта с проверкой, поставила простую * */1 * * * bitrix /home/bitrix/www/bitrix/modules/main/tools/cron_events.php 2>/home/bitrix/cron_event.log
получила в логе ошибку /bin/bash: /home/bitrix/www/bitrix/modules/main/tools/cron_events.php: Permission denied
Так что потом проблема переквалифицировалась в проблему с доступом.