0

我已经将 sendmail_path 设置为“sendmail.exe”的路径,但是 PHP 没有发送电子邮件。它需要邮件服务器或其他东西。

PHP 说无法在端口 25 连接到 localhost。php.ini 文件中有趣的事实是,在 'sendmail.exe' 的路径上方,声明“仅 Unix!????”,但 'sendmail.exe'是 Windows 可执行文件。[我相信我在 XAMPP 中的 sendmail.exe 是 Windows 版本的 Unix sendmail,所以 php.ini 中的注释可能不在正确的位置]

我只是发送电子邮件,不接收电子邮件,为什么我需要一个邮件服务器(如 Mercury)?或者 SMTP(协议)需要一个服务器来发送和接收?

根据我的想法,我们可以只打开目标服务器的端口(通常是 25?465?)来发送消息。我在这里和上面的程序有什么问题吗?

只是在类似的 Stackoverflow 问题中找不到详细信息,所以我提出了这个问题,请帮我开导。

4

1 回答 1

1

仅仅因为您sendmail.exe在计算机上找到了一个文件,并不意味着 PHP 开箱即用地支持该特定二进制文件。

来自sendmail_path

[...] 该指令也适用于 Windows。如果设置,则忽略 smtp、smtp_port 和 sendmail_from 并执行指定的命令。

仔细检查sendmail.exe您的磁盘是否与 PHP 兼容。

尝试:

sendmail_path = "X:\path\to\sendmail.exe -t"

我只是发送电子邮件,不接收电子邮件,为什么我需要一个邮件服务器(如 Mercury)?或者 SMTP(协议)需要一个服务器来发送和接收?

你不需要。您使用的配置(不是 PHP 配置,而是sendmail.exe寻找)很可能是您告诉使用 SMTP 服务器的。sendmail.ini sendmail.exe

要么改变它,如果sendmail.exe不提供您正在寻找的功能,请替换sendmail.exe为符合您需求的东西。

只是默认情况下,发送电子邮件实际上是有意义的。那么,您为什么对有意义的配置感到不安呢?

也可以看看:

于 2011-10-15T11:24:35.367 回答