我正在使用在 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