如何让sendmail在Alpine Docker容器中工作?
出于测试目的,我只想发送简单的电子邮件,但在容器内执行sendmail时,我得到如何让sendmail在Alpine Docker容器中工作?,docker,sendmail,alpine,Docker,Sendmail,Alpine,出于测试目的,我只想发送简单的电子邮件,但在容器内执行sendmail时,我得到sendmail:无法连接到远程主机(127.0.0.1):连接被拒绝。在Alpine容器中使用sendmail时,我需要考虑什么?在容器中,不会运行MTA(邮件传输代理),只是没有邮件服务器在运行。例如,您可以使用ssmtp()并将其配置为使用外部的smtp服务器,例如您的提供者(例如mail.yourprovider.com) 您可以使用ssmtp发送电子邮件。下面是一个类似的例子,无法从php Docker映像
sendmail:无法连接到远程主机(127.0.0.1):连接被拒绝
。在Alpine容器中使用sendmail时,我需要考虑什么?在容器中,不会运行MTA(邮件传输代理),只是没有邮件服务器在运行。例如,您可以使用ssmtp()并将其配置为使用外部的smtp服务器,例如您的提供者(例如mail.yourprovider.com)
您可以使用ssmtp发送电子邮件。下面是一个类似的例子,无法从php Docker映像内部发送邮件。这里您可以进一步阅读->如果您使用BusyBox sendmail,您可以在php.ini文件中设置配置 BusyBox sendmail中继到SMTP服务器。可以在命令行上使用-S选项指定服务器 我在php.ini中的配置是:
sendmail_path = /usr/sbin/sendmail -S 172.16.239.1 -t -i
我正在另一个容器中使用SMTP服务器
将SMTPHOST环境变量设置为smtp服务器的主机名或IP。
自2008年9月27日起,busybox sendmail提交()中就存在使用此变量的代码,但仅在2016年7月14日使用提交更新了用法页面。请注意,在线文档页面没有反映这些内容ngeshttps://www.busybox.net/downloads/BusyBox.html. 使用sendmail--帮助查看正确的用法。添加到的早期答案中
运行apk更新
运行apk添加ssmtp
root=postmaster
mailhub=mail.privatemail.com:587
FromLineOverride=YES
重写域=
AuthUser=谢谢你的提示,但是我该如何配置它呢?我在邮件服务器方面没有太多的专业知识。在AWS Linux实例中,一切都正常工作,无需更改任何默认设置,因此我正在寻找最简单的解决方案。
root=postmaster
mailhub=mail.privateemail.com:587
FromLineOverride=YES
rewriteDomain=<YouDomain.com>
AuthUser=<YouEMail@YourDomain.com
AuthPass=<YouUserPass>
UseSTARTTLS=YES
hostname=YourDomain.com