Как отправить электронную почту из контейнера докеров на постфикс хоста с помощью bsd-mailx?

У меня есть работающий postfix почтовый сервер на моем ubuntu хосте. Позже я мог бы заменить его также контейнером докеров, но для миграции я хочу сначала придерживаться постфикса хоста.

Как я могу отправлять электронные письма с docker container на постфикс хоста, если я хочу минимизировать размер изображения?

Я попытался установить bsd-mailx внутри контейнера, так как он имеет небольшой размер упаковки.

В общем, теперь я мог отправлять электронные письма с помощью: echo "test header" | mail -s "test body" [email protected]

Но как я могу сказать команде в контейнере докера, чтобы она действительно отправила почту в хост-систему? Или мне придется монтировать/привязывать что-то из постфикса хостов в контейнер? Так что mailx отправляет почту на монтирование?

Команда mailx работает, передавая сообщение /usr/sbin/sendmail. Вы можете предоставить эту команду, используя что-то вроде ssmtp, и настроить ssmtp для передачи почты в ваш постфиксный контейнер с использованием SMTP.

larsks 05.05.2022 13:56
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
1
16
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

mail/mailx оба вызывают двоичный файл с именем sendmail. Это означает, что вам необходимо установить MTA, предлагающий именно этот интерфейс.

  • постфикс
  • эксим
  • может нульмейлер

Разве я не могу просто смонтировать sendmail с хоста в контейнер?

membersound 05.05.2022 14:16

Это может сработать :) Совет: sendmail может находиться в разных местах: /usr/sbin/sendmail и /usr/lib/sendmail.

Ralf Hildebrandt 06.05.2022 12:55

К сожалению, невозможно было просто смонтировать sendmail с хоста. Таким образом, я установил msmtp-mta и теперь могу отправлять почту хостам с постфиксом: echo "Subject: test" | sendmail [email protected] --host=host.docker.internal [email protected]

membersound 12.05.2022 12:21

Другие вопросы по теме