我正在使用在 docker 容器中运行的 alpine linux 来运行 web 应用程序。 Web 应用程序应该使用命令行中的 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(邮件传输代理),例如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