gpt4 book ai didi

php - DOCKERized PHP 应用程序中的 Sendmail 不起作用

转载 作者:行者123 更新时间:2023-12-02 18:41:16 25 4
gpt4 key购买 nike

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

function sendmailoversmtp($name, $mail, $message, $topic)

这是行不通的。记录了以下错误:
sh: 1: -t: not found
-t -i配置为 sendmail_path在我的 php.ini 中。为什么找不到?

我的 Dockerfile 基于 FROM php:7.0-apache

最佳答案

命令行 sendmail如果没有一些扩展设置,将无法在容器中工作。 sendmail二进制文件通常将文件放入邮件队列目录,供邮件服务器进程接收然后发送。这需要将一些邮件服务器队列目录安装到容器中,或者尝试与容器服务一起运行 sendmail 进程。两者都不是很“Dockery”。

sSMTP

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

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

你可以运行一个 mail server in another container 、使用现有服务或使用 external mail host .通常会有一个邮件服务器运行在 Docker 主机本身上,但它可能并不总是可以从容器中寻址或在不同主机之间以相同的方式访问。

然后配置PHP使用ssmtp

sendmail_path = /usr/sbin/ssmtp -t

关于php - DOCKERized PHP 应用程序中的 Sendmail 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39088124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com