电子邮件无法在Linux容器中运行

Bat*_*dwa 8 docker

我无法从我的容器发送电子邮件.我跑:

apt-get update
apt-get install mailutils
echo "Testing the mail" | mail -s "Test mail" info@example.com
Run Code Online (Sandbox Code Playgroud)

......而且没有电子邮件.

mba*_*emy 13

不确定这是否与Docker本身有关.要从mail命令发送电子邮件,您需要本地SMTP中继/服务器.

这意味着您必须在容器中安装这样的继电器.您可以设置,Postfix或者,如果您想要更简单的解决方案,ssmtp

apt-get -y install ssmtp
Run Code Online (Sandbox Code Playgroud)

并对/etc/ssmtp/ssmtp.conf使用以下配置:

root=your@email.com
# Example for relaying to Gmail servers
mailhub=smtp.gmail.com:587
AuthUser=myaddress@gmail.com
AuthPass=my_gmail_password
UseTLS=YES
UseSTARTTLS=YES
Run Code Online (Sandbox Code Playgroud)

理想情况下,如果您需要mail定期使用该命令从容器发送电子邮件,则应通过创建自定义Docker镜像来设置SMTP中继.但这可能意味着设置一个可以运行多个进程的容器(SMTP中继,您的应用程序......).