我无法让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()还表明设置是正确的:

我尝试使用sendmail_path()直接从源代码中设置“ini_set”变量,我也尝试修改"php.ini-production“和"php.ini-development”文件(尽管如果您问我,没有意义),我甚至完全删除了包含文件夹的整个sendmail.exe,每次更改设置时都重新启动Apache,它仍然在发送普通邮件。我的系统运行Windows 10,XAMPP版本为3.2.2,php版本为5.6.14。
我在这里错过了什么?
编辑:当我第一次安装XAMPP时,我忘了提到它在开始时正常工作。然后,在某个时候,我需要发送一个实际的邮件,所以我将php.ini更改为使用sendmail.exe,从那以后我就再也没有恢复过它。
发布于 2016-06-28 10:18:00
如果使用PHPMailer发送消息,则需要确保它没有使用SMTP (如果它打开到远程服务器的网络连接,则不会使用本地邮件程序)。要做到这一点,不需要调用isSMTP(),因为默认方法是使用内置的mail()函数:
/**
* Which method to use to send mail.
* Options: "mail", "sendmail", or "smtp".
* @type string
*/
public $Mailer = 'mail';发布于 2016-06-27 18:18:17
当我为我的web服务器这样做时,我运行了mailtodisk.exe,然后在根XAMPP文件夹中是邮件文件夹,电子邮件都在那里。
我不需要自己做任何配置,它只是起作用了。
发布于 2016-06-28 08:45:32
可能尝试配置外部SMTP服务器,以便将其与邮件一起使用,例如使用google。
https://stackoverflow.com/questions/38053256
复制相似问题