Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停靠PHP应用程序中的Sendmail不';行不通_Php_Apache_Email_Docker_Sendmail - Fatal编程技术网

停靠PHP应用程序中的Sendmail不';行不通

停靠PHP应用程序中的Sendmail不';行不通,php,apache,email,docker,sendmail,Php,Apache,Email,Docker,Sendmail,尝试使用PHP发送电子邮件时 function sendmailoversmtp($name, $mail, $message, $topic) 它不起作用。记录了以下错误: sh: 1: -t: not found -t-i在我的php.ini中配置为sendmail\u路径。为什么找不到 我的Dockerfile基于php:7.0-apache的命令行sendmail如果没有一些扩展设置,将无法在容器中工作。sendmail二进制文件通常会将文件放入邮件队列目录,以便邮件服务器进程拾取并

尝试使用PHP发送电子邮件时

function sendmailoversmtp($name, $mail, $message, $topic)
它不起作用。记录了以下错误:

sh: 1: -t: not found
-t-i
在我的php.ini中配置为
sendmail\u路径
。为什么找不到


我的Dockerfile基于php:7.0-apache的
命令行
sendmail
如果没有一些扩展设置,将无法在容器中工作。
sendmail
二进制文件通常会将文件放入邮件队列目录,以便邮件服务器进程拾取并发送。这需要将一些邮件服务器队列目录装载到容器中,或者尝试在容器服务中运行sendmail进程。两者都不是很“多事”

sSMTP 是将邮件从计算机传送到邮件中心(SMTP服务器)的简单MTA

在容器中安装
ssmtp
,并将
/etc/ssmtp/ssmtp.conf
配置为通过真正的smtp服务器发送电子邮件

您可以运行、使用现有服务或使用。通常,Docker主机本身上会运行邮件服务器,但它可能并不总是可以从容器中寻址,也不一定可以通过相同的方式跨不同的主机访问

然后将PHP配置为使用
ssmtp

sendmail_path = /usr/sbin/ssmtp -t

你能添加sendmailoversmtp函数的主体吗?你把php.ini放在哪里?@jujule,这完全取决于你使用的php的构建。也许最好找到你现有的一个并编辑它