5

我无法让 XAMPP 使用 mailtodisk.exe 从 PHP 发送虚拟电子邮件(换句话说,将输出保存到磁盘而不是真正发送邮件)。相反,无论我做什么,邮件都会正常发送。我正在尝试将其设置为不真正发送邮件,而是使用 XAMPP 附带的 mailtodisk.exe 实用程序生成它们的输出。

我的 php.ini 设置对我来说似乎是正确的(尽管我不知道 sendmail_path 是否需要在转义引号中,因为注释的 sendmail.exe 的路径是 - 无论如何,我都尝试了,但都没有成功):

; sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"

phpinfo() 还显示设置正确:

在此处输入图像描述

我尝试使用 ini_set() 直接从源代码设置“sendmail_path”变量,我也尝试更改“php.ini-production”和“php.ini-development”文件(尽管如果你问我毫无意义),我甚至完全删除了包含整个 sendmail.exe 的文件夹,每次更改设置时我都重新启动了 Apache,它仍然可以发送正常的邮件。我的系统运行的是 Windows 10,XAMPP 版本是 3.2.2,php 版本是 5.6.14。

我在这里想念什么?

编辑:当我第一次安装 XAMPP 时,我忽略了它在一开始就可以正常工作。然后在某个时候,我需要发送一封真正的邮件,所以我将 php.ini 更改为使用 sendmail.exe,从那以后我再也没有设法恢复它。

4

3 回答 3

1

如果您使用PHPMailer发送邮件,您需要确保它没有使用 SMTP(如果它打开到远程服务器的网络连接,它将不会使用您的本地邮件程序)。为此,您无需调用isSMTP()因为默认方法是使用内置mail()函数:

/**
 * Which method to use to send mail.
 * Options: "mail", "sendmail", or "smtp".
 * @type string
 */
public $Mailer = 'mail';
于 2016-06-28T10:18:00.620 回答
0

当我为我的 Web 服务器执行此操作时,我运行了 mailtodisk.exe,然后在根 XAMPP 文件夹中是邮件文件夹,电子邮件都在那里。

我自己不需要做任何配置,它就可以了。

于 2016-06-27T18:18:17.817 回答
0

也许尝试配置外部 SMTP 服务器以将其与邮件一起使用,例如使用 google gmail。

于 2016-06-28T08:45:32.547 回答