PHP不发送电子邮件,停留在空白页
我尝试了几个版本的php表单邮件程序,但都无法运行。我正试图让它成为这样,当用户单击“提交”时,表单上的信息会自动发送/在电子邮件中填充。目前,没有发送任何电子邮件,它停留在一个黑色网站xxxx.com/contact.php上。一周来,我一直在努力解决这个问题,但毫无结果,即使在阅读了许多其他类似的帖子之后 这是我的html表单:PHP不发送电子邮件,停留在空白页,php,html,forms,email,form-submit,Php,Html,Forms,Email,Form Submit,我尝试了几个版本的php表单邮件程序,但都无法运行。我正试图让它成为这样,当用户单击“提交”时,表单上的信息会自动发送/在电子邮件中填充。目前,没有发送任何电子邮件,它停留在一个黑色网站xxxx.com/contact.php上。一周来,我一直在努力解决这个问题,但毫无结果,即使在阅读了许多其他类似的帖子之后 这是我的html表单: <form method='post' action='contact.php'> <br>
<form method='post' action='contact.php'>
<br>
<br>
<br>
<br>
<h2>
Contact Us Form
</h2>
<table>
<tr>
<td>
<p>
Fill out the form below with your contact information and questions/comments and click submit.
We will respond to your inquiry as soon as possible via email. If you prefer a different contact
method then please provide required information and notate your preference in the comments section.
I look forward to providing you and your family with great memories that last a lifetime.
</p>
</td>
</tr>
</table>
<br>
<br>
<label>
Your name:<br>
</label>
<input type="text" name="customername" size='40' maxlength='50' required><br>
<label>
Your Email:<br>
</label>
<input type='email' name='emailaddress' size='20' maxlength='254' required><br>
<label>
Your phone number (example: 555-555-1234):<br>
</label>
<input name='telephone' type='tel' size=3>-<input type='tel' size=3>-<input type='tel' size=4><br>
<label>
What product are you interested in?<br>
</label>
<input type='radio' name='newshoot' value='new'>New Photo Shoot
<input type='radio' name='existingshoot' value='existing'>Existing Photo Shoot
<input type='radio' name='prints' value='prints'>Interested in prints
<label>
Street Adress:<br>
</label>
<input type="text" name="streetaddress" size='40' maxlength='50'><br>
<label>
City:<br>
</label>
<input type="text" name="city" size='40' maxlength='50'><br>
<label>
State:<br>
</label>
<input type="text" name="state" size='40' maxlength='50'><br>
<label>
Zipcode:<br>
</label>
<input type="text" name="zipcode" size='40' maxlength='50'><br>
<label>
What country are you located in?<br>
</label>
<select>
<option value="USA">United States</option>
<option value="AFG">Afghanistan</option>
</select><br>
<label>
Comments:<br>
</label>
<textarea name='customercomment' rows='5' cols='60' text-align='left' wrap='hard'>
联系我们表格
在下表中填写您的联系信息和问题/意见,然后单击提交。
我们将尽快通过电子邮件回复您的询问。如果您喜欢不同的联系人
方法然后请提供所需信息,并在评论部分注明您的偏好。
我期待着为你和你的家人提供终生难忘的美好回忆。
您的姓名:
您的电子邮件:
您的电话号码(示例:555-555-1234):
--
您对什么产品感兴趣?
新照片拍摄
现有照片拍摄
对印刷品感兴趣
街道地址:
城市:
状态:
Zipcode:
您位于哪个国家?
美国
阿富汗
评论:
在此处输入您的评论
<input type='submit' name='submit' value='Send' />
<input type='reset' value='Reset'/>
</form>
这是我的php:
<?php
$email_to = "XXXXca@XXXXXto.com";
$email_subject = "Inquiry from: "($customername);
$first_name = $_POST['customername'];
$email_from = $_POST['emailaddress'];
$telephone = $_POST['telephone'];
$newshoot = $_POST['newshoot'];
$existingshoot = $_POST['existingshoot'];
$prints = $_POST['prints'];
$streetaddress = $_POST['streetaddress'];
$city = $_POST['city'];
$state = $_POST['state'];
$zipcode = $_POST['zipcode'];
$comments = $_POST['customercomment'];
$email_message = "Form details below.\n\n".
"Customer Name: ($customername).\n Email: ($email_from).\n Telephone: ($telephone).\n New Shoot? ($newshoot).\n Existing Shoot? ($existingshoot).\n Prints? ($prints).\n Customer's address: ($streetaddress)($city)($state)($zipcode).\n Comments:($comments).\n";
if ($_POST['submit'])
{
mail($email_to, $email_subject,$email_message, $email_from) {
header('Location: index.html');
}
}
?>
您应该在文件中添加检查点,然后才能看到它是否有效
if ($_POST['submit'])
{
$statu=mail($email_to,$email_subject,$email_message);
mail($email_to,$email_subject,$email_message);
if($statu==TRUE)
echo 'email has sent !';
else
echo 'email did not send !';
}
编辑:原谅我所有的朋友,我不想写这样的东西,但我不得不写。我试着帮他,他说他看到了一张空白页
他关闭了显示错误的功能。所以我写了这个答案,看看页面上是否有错误。他认为这是错误的。但这帮助他认识到自己的错误。然而,他并没有感谢,他还命令我“更新你的帖子…”对不起,但我认为礼貌并不难 什么是邮件($email\u to,$email\u subject,$email\u message,$email\u from){
看起来你错过了if
。使用错误报告。首先,为什么你在标题()的周围有一个小括号(
)?你是否不小心忘记添加if
?另外,你的$email\u from
是否包含From:“
?检查这两个。另外,您的错误日志是否包含任何错误?$email\u From=$\u POST['emailaddress'];否。if($\u POST['submit']){if mail($email\u to,$email\u subject,$email\u message,$email\u From)头('Location:index.html');}我修改了这个,添加了“if”并去掉了{}关于标题,仍然不起作用。非常没有问题。您指的是什么错误日志?在从提交之前显示大量错误。在发送电子邮件之前,在表单提交时首先检查所有数据是否正确接收。如果所有数据都正确恢复,则使用邮件功能。使用复选框而不是单选按钮并使用if(isset)($_post['submit'])){封闭所有表单数据您在这里的建议是什么?您在答案的代码中没有看到任何奇怪的东西吗?如果您得到一个空白页,您可能会关闭显示错误:因此可能存在错误。如果您添加检查点,您可以保持代码正常工作,如果没有错误,则会显示邮件已发送,您正在查看此邮件代码<代码>邮件($email\u to,$email\u subject,$email\u message,$email\u from){
?是的,我没有看到你的代码中有任何错误,你需要的一切都是有效的,这不是我的代码。我指出你的答案不正确,不会执行。PHP无效。