XAMPP - 无法发送虚拟电子邮件

时间:2016-06-27 11:52:15

标签: php email xampp sendmail.exe

我无法让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()还显示设置正确:

enter image description here

我尝试设置" 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,从那以后我从未设法恢复它。

3 个答案:

答案 0 :(得分:1)

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

/**
 * Which method to use to send mail.
 * Options: "mail", "sendmail", or "smtp".
 * @type string
 */
public $Mailer = 'mail';

答案 1 :(得分:0)

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

我自己没有做任何配置,只是有效。

答案 2 :(得分:0)

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