После развёртывания новой версии Ubiquiti UniFi Network Application 8.1.113 на сервере с ОС Debian GNU/Linux 12 (Bookworm) было обнаружено, что не работает отсылка уведомлений по электронной почте. При попытке отправить тестовое письмо из веб-интерфейса UniFi Network мы получали не очень информативное сообщение вида "There was an error sending the test email to ... Email failed to send. Please confirm your SMTP settings and try again".
В этот момент в основном логе сервера UniFi Network /var/log/unifi/server.log фиксировались ошибки, сопровождаемые массивными сообщениями об исключениях, связанных с шифрованием:
...
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:129)
at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
... 71 common frames omitted
[2024-04-26 15:31:43,717] WARN event - fail to send email: api.err.SmtpSendFailed
И это не смотря на то, что в расширенных настройках UniFi Network в разделе "Email Services" у нас не была включена опция "SSL".
Поиск причин происходящего привёл к документу "Explaining the UniFi system.properties File", в котором сказано, что, начиная с версии UniFi Network 6.1, STARTTLS включен по умолчанию. И что в UniFi Network по умолчанию для SMTPS проверяются сертификаты и отклоняются само-заверяющие или ненадежные сертификаты.
Если не требуется использовать шифрование при отправке почты (например, почта отсылается только для внутренних адресатов организации через внутренний SMTP сервер в локальной сети без использование аутентификации), то деактивировать описанное поведение с попытками в обязательном порядке использовать шифрование, можно, изменив конфигурационный файл system.properties:
# nano /usr/lib/unifi/data/system.properties
В конец файла добавим следующие строки:
# SMTP Related Settings
smtp.checkserveridentity=false
smtp.starttls_enabled=false
Для вступления изменения конфигурации в силу потребуется перезапуск службы unifi.service:
# systemctl restart unifi.service
После этого отсылка тестового письма прошла успешно и механизм уведомлений о важных событиях UniFi Network по электронной почте заработал.
Добавить комментарий