如何让 sendmail 在 Alpine Docker 容器中工作?

Kit*_*ori 12 sendmail docker alpine-linux

我只想发送简单的电子邮件用于测试目的,但是在容器内执行 sendmail 时,我得到sendmail: can't connect to remote host (127.0.0.1): Connection refused. 在 Alpine 容器内使用 sendmail 时需要考虑什么?

m4r*_*10k 5

在容器中将不会运行 MTA(邮件传输代理),只是没有运行邮件服务器。例如,您可以使用 ssmtp(https://pkgs.alpinelinux.org/package/edge/main/x86/ssmtp)并将其配置为使用外部,例如您的提供商,smtp-server(例如 mail.yourprovider .com)。

比您可以使用 ssmtp 发送电子邮件。这是一个类似的情况,无法从 php Docker 映像内部发送邮件。在这里您可以进一步阅读-> https://github.com/docker-library/php/issues/135

  • 感谢您的提示,但我如何配置它?我在邮件服务器方面并没有太多专业知识。在 AWS Linux 实例中,一切正常,无需更改任何默认设置,因此我正在寻找最简单的解决方案。 (2认同)

Joh*_*ami 5

如果您使用BusyBox sendmail,您可以在php.ini 文件中设置配置。

BusyBox sendmail 中继到 SMTP 服务器。您可以使用 -S 选项在命令行上指定服务器。

我在 php.ini 中的配置是:

sendmail_path = /usr/sbin/sendmail -S 172.16.239.1 -t -i
Run Code Online (Sandbox Code Playgroud)

我在另一个容器中使用 SMTP 服务器。

https://technote.fyi/code/sysadmin/docker/configuring-alpine-linux-on-docker-to-send-mail-for-wordpress/