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