发送电子邮件时未指定输入文件 更新:没有任何php文件正在运行。有办法解决这个问题吗?
我有一个包含电子邮件详细信息的html页面:发送电子邮件时未指定输入文件 更新:没有任何php文件正在运行。有办法解决这个问题吗?,php,email,Php,Email,我有一个包含电子邮件详细信息的html页面: <form method="POST" sourceindex="44" action="semail.php" name="form1" onSubmit="return validate_form ( );"> <p> <label>Your name:<br> <input sourceindex="47" name="ma
<form method="POST" sourceindex="44" action="semail.php" name="form1" onSubmit="return validate_form ( );">
<p>
<label>Your name:<br>
<input sourceindex="47" name="mail_name" class="text_field" type="text">
</label>
</p>
<p>
<label>Your e-mail:<br>
<input sourceindex="51" name="mail_email"
class="text_field" type="text">
</label>
</p>
<p>
<label>Message:<br>
<textarea sourceindex="55" name="mail_msg" cols="45"
rows="5" class="text_area"></textarea>
</label>
</p>
<input name="B1" type="submit" class="form_button" value="" />
</form>
您的姓名:
您的电子邮件:
信息:
下面是php代码(全部在semail.php中):
每当我单击send时,semail.php页面就会显示以下错误:未指定输入文件
有人能帮我找出问题出在哪里吗?要首先检查并验证PHP是否正在运行,以及当前的Web托管公司是否可以使用PHP,请创建一个名为
check\u server.PHP的文件,并插入以下代码:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>
N.B.:我需要指出,您的PHP邮件处理程序没有包含一些必需的元素
例如,处理程序中不存在的From:
元素/变量
$mail_email= $_POST['mail_email'];
此外,标题也不存在。Mail需要4个变量来发送/接收电子邮件
例如,您有if(mail($mail\u to,$mail\u subject,$mail\u body))
应该读作if(mail($mail\u to,$mail\u subject,$mail\u body,$headers))
由于
中的电子邮件丢失,省略标题将导致标记为垃圾邮件的邮件,并显示为未知发件人
结合上述表格,am包括一份PHP邮件处理程序的工作副本:
<?php
$mail_to ="someEmail@hotmail.com";
$mail_email= $_POST['mail_email'];
$mail_subject = "Message From a Customer";
$mail_body ="Name of the Customer: ".$_POST['mail_name']."\n";
$mail_body .= "E-Mail Of the Coustomer: ".$_POST['mail_email']."\n";
$mail_body .= "The Message: ".$_POST['mail_msg']."\n";
$headers = "From: $mail_email \r\n";
$headers .= "Reply-To: $mail_email \r\n";
if(mail($mail_to, $mail_subject, $mail_body, $headers))
echo "Thanks for your Message";
else
echo "Failed to send the e-mail";
?>
- 阅读PHP.net上的
mail()
函数:
您可以添加一个;在echo的结尾“无法发送电子邮件”,并查看它是否工作可能是重复的?即使编码不同,问题也是一样的。马蒂耶洛:我试过了,但没用。还有什么其他建议吗?@Satya,你不需要关闭前最后一条指令的代码>,?>
。分号的实际用途是将不同的指令彼此区分开来,因此如果没有更多的指令并关闭php的标记,就不会有问题。尽管如此,我还是喜欢一直使用它们,即使是对于诸如
之类的简短说明也是如此。表单中的“发送邮件”按钮在哪里?验证semail.php的路径是否正确
$mail_email= $_POST['mail_email'];
<?php
$mail_to ="someEmail@hotmail.com";
$mail_email= $_POST['mail_email'];
$mail_subject = "Message From a Customer";
$mail_body ="Name of the Customer: ".$_POST['mail_name']."\n";
$mail_body .= "E-Mail Of the Coustomer: ".$_POST['mail_email']."\n";
$mail_body .= "The Message: ".$_POST['mail_msg']."\n";
$headers = "From: $mail_email \r\n";
$headers .= "Reply-To: $mail_email \r\n";
if(mail($mail_to, $mail_subject, $mail_body, $headers))
echo "Thanks for your Message";
else
echo "Failed to send the e-mail";
?>