Я использую alpine linux, работающий в контейнере docker, для запуска веб-приложения. Веб-приложение должно отправлять электронные письма с помощью команды mail из командной строки.
Для поддержки этого я установил почту следующим образом:
apk add mailx
При попытке отправить сообщение возникает следующая ошибка:
bash-4.3# mail [email protected]
Subject: test
EOT
Null message body; hope that's ok
bash-4.3# send-mail: applet not found
Не уверен, что я делаю неправильно. Любая помощь будет высоко оценена.
решение1
В Alpine нет MTA по умолчанию. Помимо mailx, вам также понадобится установить и настроить MTA (Mail Transfer Agent), например postfix:
# apk add postfix
(1/3) Installing db (5.3.28-r0)
(2/3) Installing libsasl (2.1.26-r8)
(3/3) Installing postfix (3.1.3-r0)
Executing postfix-3.1.3-r0.pre-install
Executing busybox-1.25.1-r0.trigger
OK: 8 MiB in 16 packages
Начальный постфикс:
~ # postfix start
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/.
postfix/postfix-script: warning: not owned by root: /var/spool/postfix/pid
postfix/postfix-script: starting the Postfix mail system
Отправьте тестовое сообщение:
~ # mail -s "Test" [email protected]
.
EOT
Null message body; hope that's ok