【问题标题】:XAMPP - unable to send dummy emailsXAMPP - 无法发送虚拟电子邮件
【发布时间】:2016-10-29 10:13:33
【问题描述】:

我无法让 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,从那以后我再也没有设法恢复它。

【问题讨论】:

  • 我相信在 Windows 上使用 sendmail_path 的可能性是 Xampp 自定义,而不是官方 PHP 的一部分。在任何情况下,它都需要mail()(如果你使用一个像样的邮件库,它会说 SMTP,它无论如何都会绕过你本地的 sendmail 可执行文件)。这就是你发送消息的方式吗?
  • 试试 PHP 的 PhpMailer 库,通过它你可以设置你的 gmail 帐户,也可以从 localhost 发送邮件,
  • @ÁlvaroGonzález 我正在使用带有 SMTP 身份验证的 PHPMailer 来发送我的电子邮件。这似乎确实是问题所在 - 我尝试使用 mail() 发送邮件并且它有效。将对此进行进一步测试。
  • @ÁlvaroGonzález 使用 mail() 发送虚拟电子邮件有效。在没有 SMTP 身份验证的情况下使用 PHPMailer 发送虚拟邮件。使用带有 SMTP 身份验证的 PHPMailer 发送虚拟邮件不起作用 - 它正常发送邮件。所以 SMTP 身份验证是罪魁祸首。请务必将其作为答案发布,以便我给您打勾。

标签: php email xampp sendmail.exe


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 当我第一次安装 XAMPP 时,它也能正常工作。然后在某个时候我需要发送一封实际的邮件,所以我将 php.ini 更改为使用 sendmail.exe,从那以后我再也没有设法恢复它。
    • 我的意思是,我总是可以重新安装 XAMPP,它可能会工作,我现在只想找出它到底有什么问题。
    【解决方案3】:

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

    【讨论】:

    • 抱歉,这与所要求的完全相反。
    • 确实如此。虽然可能不寻常,但问题不是我无法发送电子邮件,问题是我不想发送电子邮件,我想将输出保存到磁盘。但它继续正常发送邮件。 (虽然有些人会祈祷我的情况:P)
    猜你喜欢
    • 2021-09-12
    • 2013-03-30
    • 2012-04-14
    • 1970-01-01
    • 2017-01-31
    • 2013-03-13
    • 2016-07-29
    相关资源
    最近更新 更多