ubuntu – 在docker容器内配置sendmail

前端之家收集整理的这篇文章主要介绍了ubuntu – 在docker容器内配置sendmail前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个docker container运行PHP和apache.主机位于运行docker实例的AWS实例中.我无法从码头码头发送电子邮件.有没有办法使用sendmail使用docker的主机配置从docker实例发送电子邮件

以下命令从主机发送电子邮件,但不从docker实例发送电子邮件.也没有错误.

echo "Subject: Testing Email" | cat - text | /usr/lib/sendmail -F abc.pqr@domain.com -t abc.pqr@domain.com
最佳答案
我所做的是配置主机MTA来监听docker0,并在容器中安装ssmtp,以将主机MTA的容器中的sendmail挂接.在主机上运行MTA的原因是系统(关键)错误可以发送到管理员的邮箱.在容器中不运行MTA的原因是主机系统已经运行了MTA,这是一个重复的过程.

在主机上,我使用postfix.我们所需要做的就是配置postfix来监听docker0并接受Docker容器发出的邮件.编辑文件/etc/postfix/main.cf并将docker0 IP地址添加到inet_interfaces,以便它接受Docker容器的连接.此外,将Docker容器的网络地址添加到网络中,以便Docker容器通过主机上的后缀服务器发送邮件是合法的. (reference and more details)

要在容器中使用sendmail,请安装ssmtp并将FromLineOverride设置为允许,并将mailhub设置为/etc/ssmtp/ssmtp.conf中主机的IP地址.您可以将mailhub设置为smtp-server等符号,然后使用–add-host选项运行容器,如Dockerfile所示(使用–add-host smtp-server:your-docker0-address运行) .这将在容器中配置可用的sendmail,这些容器实际上将使用主机MTA来发送邮件.

猜你在找的Docker相关文章