Я использую контейнер php: 7.2-apache и хочу отправлять почту. Поскольку ssmtp больше не используется, я хочу использовать msmtp, но сталкиваюсь с проблемами аутентификации с помощью msmtp.
Моя цель: Настроить msmtp для контейнера докеров так, чтобы контейнер работал из коробки (т.е. без меня exec в контейнер и настройте некоторые системы)
Согласно странице руководства msmtp , msmtp предлагает несколько методов аутентификации, и все они, похоже, не подходят для реализации моей цели:
простой вход в систему
(я тестировал его с помощью telnet
), но каким-то образом msmtp передает строку base64 «username \ 0password» вместо «username \ 0username \ 0password» , который я успешно использовал в своей аутентификации telnet
. Я не знаю, ошибка ли это в msmtp или просто другой протокол или что-то еще. Если вы знаете, как изменить это поведение в msmtp, это тоже было бы здорово! Если у кого-то есть обходной путь, или что-то, что я не вижу в данный момент, я был бы очень благодарен!
PS: Может быть интересно, что я хочу использовать msmtp для передачи почты с одного контейнер докеров в другой контейнер докеров, на котором размещен мой почтовый сервер. Они находятся в одной сети докеров, недоступной извне. Кроме того, контейнер почтового сервера слушает только мост докеров и предназначен только для отправки. Если это каким-то образом упростит ситуацию, например, «тогда вам не нужна безопасность аутентификации и вы можете выполнять xy», я также был бы очень счастлив :)
Я нашел решение, когда снова заглянул в справочную страницу. msmtp предлагает несколько различных методов аутентификации в случае 3. простой текстовый пароль . Метод логин
сформулирован для меня (в файле конфигурации: авторизация входа
вместо авторизация на
).
Поскольку мое соединение между контейнерами защищено с помощью TLS, меня устраивает такой вариант. Тем не менее, если у вас есть лучший вариант, дайте мне знать!