Приветствую. Настроили наконец то почту на виртуальной машине.
Сейчас я вам расскажу как это сделать и вам, чтобы даже при самых минимальных настройках все работало.
Итак:
Авторизуемся под root
Жмем 6 И видим что то подобное. Если у вас на сервере 1 сайт, то у вас будет только 1 kernel sites: default
Далее жмем 4
И по шагам делаем следующее:
Вводим Enter from adress - это адрес по умолчанию с которого будут приходить все электронные письма с сайта. Жмем Enter после ввода email адреса.
Enter server address or DNS - это IP адрес сервера или DNS. Для текущего сервера я оставил пустым (тоесть по умолчанию будет использоваться значение указанное в скобках). Жмем Enter.
Enter server port - тут можно жать сразу Enter если у вас почта без шифрования (порт по умолчанию 25). Для шифрования указываете 443.
Do you need auth options for - Нужна ли вам авторизация на SMTP сервере. Если у вас только отправляются уведомления с сервера то жмете N.
Do you need TLS enabled for - Включить ли TLS. Я не включал, так как с включенным TLS поста у меня не приходила.
В конце жмете Enter и проверяете работает ли почта. Я проверял через уведомления с сайта.
Столкнулся с таким нюансом в ВМ, при установке последних обновлений ВМ перестает работать отправка уведомлений, если для 4,3 достаточно было установить через стандартное меню Битрикса Server SMTP: localhost port: 25 адрес ящика с которого отсылать: в моём случае bitrix@адрес портала авторизация: n(Нет) tsl: n(Нет)
то в 5,0,44 необходимо теперь каждому сайту в отдельности через модуль масштабирования настраивать почту отдельно. Зачем было усложнять не совсем понятно, хотелось бы комментария по этому поводу.
Но самое печальное что мне в этом всем не нравиться так это хранение паролей от почты в открытом виде в файле /home/bitrix/.msmtprc так как даже у пользователя bitrix получается есть к нему доступ, и давая кому то доступ на редактирование я получается свечу и пароли от почты, что лично меня категорически не устраивает.
Метод неплохой. Сам такими настройками пользовался долгое время. Пока почта не перестала работать. Грешил на всё подряд. Причём по логам всё уходит. Помогло только смена ip адреса сервера. Как можно догадаться, нас блочил сам яндекс.
У меня почта домена на яндексе и обычные настройки не помогали.
Всё заработало, но когда я тестил следующим скриптом:
Код
<?
if(mail("mail@mail.ru", "TEST SUBJECT", "TEST BODY" )
echo "Почтовая система работает!";
else
echo "Неудача, почтовая система не работает, попробуйте еще!";
?>
В отправителе стояло "MAILER-DAEMON". Бился долго. Оказалось в самом битриксе всё работает и отображает корректный маил(указывается в настройках сайта), а через скрипт пишет в отправителе MAILER-DAEMON.
Компания СКАУТ, вы уверены что все работает? У нас на корпортале, свежеустановленном на виртуальной машине 5.0.44 при таких же настройках уходят только приглашения на портал, а вот _уведомления пользователям_ о задачах и комментариях не уходят.
При этом проверку системы проходим на ура, все зелененькое. Разумеется, кроме интеграции с Windows, которая нам пока не нужна.
Надежда Неверова, у нас почти та же история. Перенесли корпортал на новый сервер с BitrixEnv 5.0.44, почта вообще не уходит. Только ежедневную статистику посещений получаем... Уже все бубны сломали...
Денис Диденко пишет: Надежда Неверова , у вас крон работает? Периодические агенты работают на кроне, если он не отрабатывает то часть писем не будет уходить.
Поддержка крона в dbconn.php включена: define('BX_CRONTAB_SUPPORT', true);
А в виртуальной машине в файле кронтаба сразу имеется нужная инструкция для ежеминутного выполнения cron_events.php В таблице b_events если поменять статус неушедших сообщений с F на N (типа они новые и нужно их отправить), через полминуты снова становится F.
При этом если поменять данные при настройке почты. Например, не 127.0.0.1 а свою почтовую учетную запись на стороннем сервере (из под которой после танцев с бубнами все уходило на 5.0.37), то проверка системы перестает проходиться.
А также если прямо с сервера пытаться отправить письмо:
то получаем такое: msmtp: account default not found: no configuration file available
Если же скопировать конфигурационный файл .msmtprc в папку /etc/ (т.е. сделать общим для всех учеток данного сервера), то при попытке отправить письмо с сервера, получаем 550 Disabled.
В-общем я снова прохожу все эти стадии, как и с 5.0.37
В прошлый раунд пришлось обратиться к специалисту, который сказал, что была какая-то проблема С ДОСТУПОМ К ФАЙЛАМ. К сожалению, не знаю, к каким именно файлам и какого пользователя, root или bitrix. Хотя, скорее всего, bitrix? После решения проблемы с доступом к файлам на 5.0.37, почта стала уходить любая из-под любой почтовой учетки.
Вот сейчас пытаюсь найти проблему после установки 5.0.44. Я бы и не трогала ничего, только падения апача с Segmentation fault замучили, а на 5.0.44 вроде бы должно работать стабильнее. Мне так сказали в другой теме.
Надежда, Вам необходимо указать параметры работы с почтой из административной панели модуля "Управление масштабированием".
Если вы укажете локальный сервер отправки (localhost или 127.0.0.1), то проверка системы будет показывать, что почта работает, тк msmtp соединяется с локальным отправщиком, и ошибки уже нужно смотреть в его логах (чаще всего они говорят о том, что отправитель From неверный или принимающая сторона не может авторизовать корректно ваш сервер и выдает 550 - что тоже все пишется в логах).
Если Вы укажите сторонний smtp сервер (например mail.ru), и проверка на отправку почты не будет проходить, смело смотрите логи msmtp отправщика, обычно проблемы с неправильной настройкой параметров подключения к стороннему smtp.
Дополнительно, если у вас почта отправляется через сторонний smtp сервер, но часть сообщений не доходят до адресатов, также смотрите логи, и скорее всего у вас не совпадают адреса отправителя в почтовых шаблонах с адресом отправителя в настройках msmtp
Антон Кисляков пишет: чаще всего они говорят о том, что отправитель From неверный или принимающая сторона не может авторизовать корректно ваш сервер и выдает 550
Я везде в почтовых шаблонах (еще в прошлый раз при настройке на 5.0.37 проставила #DEFAULT_EMAIL_FROM#) #DEFAULT_EMAIL_FROM# у нас равен отправителю в настройках msmtp В прошлый раз после танцев с бубном все заработало. Танцы с бубном заключались в том, что нашли какую-то проблему с доступом к файлам.
Цитата
Антон Кисляков пишет: тк msmtp соединяется с локальным отправщиком, и ошибки уже нужно смотреть в его логах
Как зовут локального отправщика, где он лежит? спасибо. Мы не планируем его использовать, но сейчас он нужен мне для диагностики. Поискала самостоятельно при помощи grep в конфиг файлах php и апача, чего-то не нашла ничего))).
Вот что нашла сегодня я:
Я сделала вывод работы крона в лог, получила следующее в логе: msmtp: account default not found: no configuration file available
Msmtp не может найти конфиг файл для пользователя bitrix, хотя он абсолютно точно есть, Мы же его через меню шелла настроили. В прошлом раунде настройки почты (на 5.0.37) все было так же.
Смотрим права:
[bitrix@31618 ~]$ ls -l -a total 112 drwx------. 3 bitrix bitrix 4096 Aug 16 14:18 . drwxr-xr-x. 4 root root 4096 Aug 16 11:26 .. -rw------- 1 bitrix bitrix 92 Aug 16 13:35 .bash_history -rw-r--r--. 1 bitrix bitrix 18 Jul 18 2013 .bash_logout -rw-r--r--. 1 bitrix bitrix 176 Jul 18 2013 .bash_profile -rw-r--r--. 1 bitrix bitrix 124 Jul 18 2013 .bashrc -rw-rw-r-- 1 bitrix bitrix 72022 Aug 16 14:26 bx_log_2014_08_16.log -rw-rw-r-- 1 bitrix bitrix 0 Aug 16 14:46 cron_event.log -rw-rw-r-- 1 bitrix bitrix 3320 Aug 16 14:29 msmtp_default.log -rw------- 1 bitrix bitrix 834 Aug 16 13:53 .msmtprc drwxrwx---. 23 bitrix bitrix 4096 Aug 16 11:52 www
Вопрос: где почтовик ищет свой конфигурационный файл и почему не находит. Я в правах на файлы немного путаюсь, в каком порядке их понимать, пойду почитаю про них пока.
Надежда, локальный отправитель postfix, его логи лежат в /var/log/maillog
Надежда, Вам нужно настроить почту через админку битрикса, я писал выше. Также если стоит в почтовых шаблонах #DEFAULT_EMAIL_FROM# - это замечательно! Не забудтьт проверить правильность отправителя в настройках сайта и глобального модуля.
Антон Кисляков пишет: Надежда, Вам нужно настроить почту через админку битрикса, я писал выше.
Я настроила. В почтовике через модуль "Управление масштабированием" я указала сторонний smtp сервер. Даже поставила везде отправителя реального, с моим адресом, а не адресом, созданным специально для уведомлений с портала клиента.
Уведомления о задачах НЕ уходят. Уходит корректно приглашение на портал, с копией админу, согласно настройкам корпортала. Всякие там "забыли пароль" тоже работают. Проверка сайта также проходит на ура теперь. А про задачи и комменты к ним люди не узнают.
Давайте разберемся, Приглашение на портал уходит, и проверка сайта проходится. Как вы сказали, при указании стороннего сервера, проблемы смело надо искать в логе msmtp_default.log. Но там только успешные отправки. Приглашений на портал и на адрес hosting_test@bitrixsoft.com. "Aug 16 15:06:05 host=smtp.timeweb.ru tls=on auth=on user=reception@maystudio.ru from=reception@maystudio.ru recipients=hosting_test@bitrixsoft.com mailsize=135 smtpstatus=250 smtpmsg='250 OK id=1XIboD-00072I-AI' exitcode=EX_OK"
А неуспешных отправок в логе нет. Как бы они до msmtp даже не дошли, понимаете?
Как я это проверяю? Меняю статус неушедших уведомлений в базе данных с F на N Через несколько секунд статус снова F. Т.е. они попытались отправиться, но случился какой-то фейл. В логе msmtp этого нет
Зато в логе крон вижу:
msmtp: account default not found: no configuration file available msmtp: account default not found: no configuration file available msmtp: account default not found: no configuration file available
Немного непонятно, из-под какого пользователя запускать файл cron_events.php. У меня из под битрикса.
Все одно: уведомления не уходят. В логе:
msmtp: account default not found: no configuration file available msmtp: account default not found: no configuration file available msmtp: account default not found: no configuration file available
* * * * * bitrix test -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php && { /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php ; } >/dev/null 2>&1 и поставила свою из инструкции */1 * * * * bitrix /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php
2) Сменила права на конфигурационный файл .msmtprc на 644 3) Скопировала конфигурационный файл /home/bitrix/.msmtprc в папку /etc/. Команда:
cp /home/bitrix/.msmtprc /etc/msmtprc
Общий конфиг файл - именно БЕЗ точки.
Может, кому поможет.
Да, и адрес отправителя важен только в настройках msmtp. Там он должен быть равен адресу, с которого будет производиться отправка. А в настройках сайта в поле #DEFAULT_EMAIL_FROM# можно написать хоть адрес на деревню дедушке.
Надежда Неверова пишет: Вот сейчас пытаюсь найти проблему после установки 5.0.44. Я бы и не трогала ничего, только падения апача с Segmentation fault замучили, а на 5.0.44 вроде бы должно работать стабильнее. Мне так сказали в другой теме.
SegFault 99% дает APC, можно просто использовать другой кеш Если не решите проблему - обращайтесь, руками бы посмотреть, так не понятно что происходит.
Денис Диденко пишет: SegFault 99% дает APC, можно просто использовать другой кеш Если не решите проблему - обращайтесь, руками бы посмотреть, так не понятно что происходит.
Пока все тихо в плане 502 ошибки, посмотрим, что будет в понедельник.