![在 alpine linux 上使用邮件命令时出现“发送邮件:未找到小程序”](https://linux22.com/image/109420/%E5%9C%A8%20alpine%20linux%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E9%82%AE%E4%BB%B6%E5%91%BD%E4%BB%A4%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9C%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%EF%BC%9A%E6%9C%AA%E6%89%BE%E5%88%B0%E5%B0%8F%E7%A8%8B%E5%BA%8F%E2%80%9D.png)
我正在使用在 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