На днях пришлось устанавливать и настраивать Redmine, чтобы в дальнейшем работать с внешними заказчиками, у которых нет своих систем фиксации ошибок и ведения проектов. В определённый момент я столкнулся с проблемой, когда Redmine отказывался отправлять почту и вываливались ошибки. Настраивал Redmine на Яндекс.Почту, так как там заведена почта для домена, однако проверил настройки и Gmail.
Речь пойдёт о Redmine версии 3.0.3, если вы читаете данную статью в далёком будущем, то у вас скорее уже другие технологии и Redmine устанавливается и настраивается сам (шутка).
Как мы знаем Яндекс.Почта сейчас работает только по SSL и не поддерживает не защищённое соединение. Я указал необходимые параметры в файле конфигурации, однако почта никак не хотела отправляться. Пытался в настройках «Уведомление по email» отправлять тестовые письма:
В этом случае получал «ошибку на весь экран».
В интернете множество всякой информации, однако там много воды и часть информации устарела, поэтому пришлось методом проб и ошибок подбирать необходимые параметры. В итоге сначала заработала отправка писем через почту Gmail, а потом через Яндекс.Почту.
Не буду в данной статье описывать какой параметр конкретно за что отвечает, а приведу примеры правильного кода, а что за что конкретно отвечает вы сможете найти в интернете. Поясню только самое необходимое. Правим файл /config/configuration.yml.
Настройки Redmine для почты Gmail:
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.gmail.com
port: 587
domain: victorz.ru
authentication: :login
user_name: test@gmail.com
password: testpassword
Настройки Redmine для Яндекс.Почты:
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
ssl: true
address: smtp.yandex.ru
port: 465
domain: victorz.ru
authentication: :login
user_name: test
password: testpassword
enable_starttls_auto: true
openssl_verify_mode: none
Обратите внимание, что, если вы используете Яндекс.Почту для домена, то в параметре user_name необходимо писать полный адрес почты, пример:
user_name: test@victorz.ru
В параметре domain можете писать домен вашего сайта.
Виктор, большое спасибо за статью!
Я долго сражался с Redmine, пытаясь заставить работать с Яндекс-почтой, и только эта статья помогла. Информации по Redmine крайне мало. Что ещё хуже — трудно найти логи. Я использую Redmine через Docker-контейнер, и единственный способ посмотреть логи, что я нашёл, это `docker logs `. Похоже, что Redmine пишет логи только в STDOUT.