Sendmail in DOCKERized PHP-应用程序不工作
Sendmail in DOCKERized PHP-Application doesn't work
尝试使用 PHP
发送电子邮件时
function sendmailoversmtp($name, $mail, $message, $topic)
没用。记录了以下错误:
sh: 1: -t: not found
-t -i
在我的php.ini中配置为sendmail_path
。为什么找不到?
我的 Dockerfile 基于 FROM php:7.0-apache
如果没有一些扩展设置,命令行 sendmail
将无法在容器中运行。 sendmail
二进制文件通常会将文件放入邮件队列目录中,以便邮件服务器进程获取并发送。这将需要将一些邮件服务器队列目录安装到容器中或尝试 运行 发送邮件进程以及您的容器服务。两者都不是很"Dockery".
sSMTP
sSMTP 是一个简单的 MTA,用于将邮件从计算机传送到邮件中心(SMTP 服务器)
在容器中安装 ssmtp
并配置 /etc/ssmtp/ssmtp.conf
通过真正的 smtp 服务器发送电子邮件。
你可以 运行 一个 mail server in another container, use an existing service, or use an external mail host。在 Docker 主机本身上通常会有一个邮件服务器 运行ning,但它可能并不总是可以从容器中寻址或在不同主机之间以相同的方式访问。
然后配置PHP使用ssmtp
sendmail_path = /usr/sbin/ssmtp -t
尝试使用 PHP
发送电子邮件时function sendmailoversmtp($name, $mail, $message, $topic)
没用。记录了以下错误:
sh: 1: -t: not found
-t -i
在我的php.ini中配置为sendmail_path
。为什么找不到?
我的 Dockerfile 基于 FROM php:7.0-apache
如果没有一些扩展设置,命令行 sendmail
将无法在容器中运行。 sendmail
二进制文件通常会将文件放入邮件队列目录中,以便邮件服务器进程获取并发送。这将需要将一些邮件服务器队列目录安装到容器中或尝试 运行 发送邮件进程以及您的容器服务。两者都不是很"Dockery".
sSMTP
sSMTP 是一个简单的 MTA,用于将邮件从计算机传送到邮件中心(SMTP 服务器)
在容器中安装 ssmtp
并配置 /etc/ssmtp/ssmtp.conf
通过真正的 smtp 服务器发送电子邮件。
你可以 运行 一个 mail server in another container, use an existing service, or use an external mail host。在 Docker 主机本身上通常会有一个邮件服务器 运行ning,但它可能并不总是可以从容器中寻址或在不同主机之间以相同的方式访问。
然后配置PHP使用ssmtp
sendmail_path = /usr/sbin/ssmtp -t