使用 Windows 8.1 在 localhost 上测试 PHP 的 mail() 函数 [关闭]

Posted

技术标签:

【中文标题】使用 Windows 8.1 在 localhost 上测试 PHP 的 mail() 函数 [关闭]【英文标题】:Test mail() function of PHP on localhost with Windows 8.1 [closed] 【发布时间】:2014-04-12 23:42:01 【问题描述】:

如何在本地服务器上测试 mail() 函数? 我使用的是 Windows 8。

我尝试使用“测试邮件服务器工具”(http://www.toolheap.com/test-mail-server-tool/) 工具,但它不起作用,执行该功能后电子邮件没有保存在任何地方。

【问题讨论】:

*** 只有英文版。请将您的文字翻译成英文,或者如果您不知道如何翻译,请使用 Google 翻译。 好的,文字已经翻译好了@Mike 请“取消保留”:) - 问题对我来说很清楚,我已经回答了完整的问题。 php.ini 中,如果设置了 sendmail_path,则注释掉。这为我修好了! 【参考方案1】:

在 Windows 上 PHP 需要额外的配置。 尤其是 SMTP 设置是相关的。 http://www.php.net/manual/en/mail.configuration.php

模拟器“test-mail-server-tool”监听指定的端口,通常是 25 并将那里发送的邮件写入一个特定的文件夹。它取代了真正的 SMTP 服务器,实际上它是一个用于测试目的的虚拟服务器。如果邮件已发送,则应在“tmst”的指定文件夹中。

完成演练

    安装“test-mail-server-tool” 启动工具 转到托盘:设置端口 25 和用于电子邮件输出的文件夹 使用下面发送邮件示例中的源代码创建新的 php 文件 执行 php 文件(在浏览器或 cli 中) 转到定义的电子邮件输出文件夹 查找包含您电子邮件内容的“*.eml”文件

发送邮件的基本 PHP 示例

<?php
   $from = "sender@sender.com";
   $headers = "From:" . $from;
   echo mail ("receiver@receiver.com" ,"headline" , "text", $headers);
?>

【讨论】:

嘿,快速提问。好的,我测试了它并且它有效(谢谢:D)。因此,如果我将使用此工具的代码放在拥有实时网站的服务器上,我可以假设它会向人们发送实际的电子邮件吗? 是的,如果电子邮件发送配置正确,那么它应该“真正地”发送邮件。需要两件事:1. 正确的 php.ini 配置用于发送邮件 - 2. 真正的邮件工具,例如在端口 25 上运行的 sendmail。替代方案:如果 (1.) 包含外部 smtp 服务,例如 google,则邮件通过那个服务。 非常感谢 :D 据我所知,公司服务器使用 chimpmail 作为 smtp 服务,并且服务器应该已经正确完成了 php.ini 配置。

以上是关于使用 Windows 8.1 在 localhost 上测试 PHP 的 mail() 函数 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

错误 - 在 windows 10/8.1 机器中通过 anaconda 使用 python pyspark

在 Windows 8.1 频道上使用相同的推送通知频道

Win32 应用程序是不是也可以在 Windows 7 和 Windows 8/8.1 上运行?

某些 Windows 8 和 8.1 上的 Unity3d 4.6 UI 图像错误

在 Windows 应用商店应用程序(Windows 8.1)中使用 GeoLocator 时出现“管道正在关闭”错误?

在 Windows 8.1 中使用 gem 安装 sass 时出错