尝试在本地主机上使用PHP中的mail函数

尝试在本地主机上使用PHP中的mail函数,php,localhost,sendmail,Php,Localhost,Sendmail,我试图在本地服务器(使用usbwebserverv8.6)上托管的一个php网站上使用mail函数,我一直收到这个错误 警告:mail():“sendmail_from”未在php.ini或custom中设置“from:”第29行的E:\USBWebserver v8.6\root\insert.php中缺少标题 我使用的代码是从表单中获取数据。我是否遗漏了什么 <?php echo "Company Name: ".$_POST['companyname']."<br>";

我试图在本地服务器(使用usbwebserverv8.6)上托管的一个php网站上使用mail函数,我一直收到这个错误

警告:mail():“sendmail_from”未在php.ini或custom中设置“from:”第29行的E:\USBWebserver v8.6\root\insert.php中缺少标题

我使用的代码是从表单中获取数据。我是否遗漏了什么

<?php
echo "Company Name: ".$_POST['companyname']."<br>";
echo "Address:  ".$_POST['address']."<br>";
echo "Phone Number: ".$_POST['phonenumber']."<br>";
echo "Email:    ".$_POST['email']."<br>";

mail($_POST['email'], "You have Registered", "You have Registered");
?>


我一直得到的建议是对php.ini做些什么,但我不清楚我到底需要做什么

您必须填写所有参数(除非您编辑php.ini文件)以包含所有数据,
mail()
函数接受如下参数:

mail($to, $subject, $body, $from);

但是,为了实际发送邮件,您还需要确保您的服务器正在运行邮件服务器。

您必须在
mail()
函数中有一个from标头,这可以通过附加的\u headers参数进行设置,也可以在php中设置默认值。阅读手册<代码>邮件($to,$subject,$message)就可以了。最后一部分在这里很重要:您需要运行邮件服务器才能从系统发送邮件。@AmalMurali您确定from参数可以为空吗?文档说它是必需的:
当发送邮件时,邮件必须包含From头。这可以通过附加的_headers参数设置,也可以在php.ini中设置默认值。否则将导致类似于警告的错误消息:mail():“sendmail_from”未在php.ini中设置或“custom”from:“header missing”。From标头还设置Windows下的返回路径。
,但不一定在参数中。它可以在
ini
文件中设置。