PHP电子邮件不会发送变量
基本上,以下代码是一个查询表单,当网站用户填写时,它会将电子邮件发送到我的电子邮件地址。但是有些东西不起作用了 以下是php:PHP电子邮件不会发送变量,php,html,email,Php,Html,Email,基本上,以下代码是一个查询表单,当网站用户填写时,它会将电子邮件发送到我的电子邮件地址。但是有些东西不起作用了 以下是php: <?php $field_name = $_POST['efName']; $field_email = $_POST['efEmail']; $field_phone = $_POST['efPhone']; $field_date = $_POST['efTravelDate']; $field_duration = $_POST['efLengthOfSta
<?php
$field_name = $_POST['efName'];
$field_email = $_POST['efEmail'];
$field_phone = $_POST['efPhone'];
$field_date = $_POST['efTravelDate'];
$field_duration = $_POST['efLengthOfStay'];
$field_otherInfo = $_POST['efOtherInfo'];
$mail_to = 'James_Burnside94@hotmail.com';
$subject = 'Enquiry Applicant-'.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Phone: '.$field_phone."\n";
$body_message .= 'Date: '.$field_date."\n";
$body_message .= 'Duration: '.$field_duration."\n";
$body_message .= 'otherInfo: '.$field_otherInfo."\n";
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Enquiry Sent.');
window.location = 'index.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Enquiry form failed to send. \n Please try again, or send an email to enquiry@cannes-rental-apartment.com');
window.location = 'index.html';
</script>
<?php
}
?>
警报(“已发送查询”);
window.location='index.html';
警报('查询表单发送失败。\n请重试,或发送电子邮件至enquiry@cannes-租住公寓网站),;
window.location='index.html';
下面是Html正文:
<body>
<fieldset style="display:block; width:500px;">
<form action="enquiry.php" method="post">
<table>
<tr> <td> <span class="enquiryFormHeader"> Enquiry Form </span> <p> </p></td> </tr>
<tr> <td> Name: </td> <td> <input type="text" name="efName" id="efName"> </td> </tr>
<tr> <td> Email: </td> <td> <input type="text" name="efEmail" id="efEmail"> </td> </tr>
<tr> <td> Phone or Moblie: </td> <td> <input type="text" name="efPhone" id="efPhone"> </td> </tr>
<tr> <td> Intended travel date: </td> <td> <input type="text" name="efTravelDate" id="efTravelDate"> </td> </tr>
<tr> <td> Intended length of stay: </td> <td> <input type="text" name="efLengthOfStay" id="efLengthOfStay"> </td> </tr>
<tr> <td valign="top"> Any other information: </td> <td> <textarea name="efOtherInfo" id="efOtherInfo"> </textarea> <p> </p> </td> </tr>
<tr> <td><input type="submit" value="Send Form" class="submitButton"> </td> </tr>
</table>
</form>
</fieldset>
</body>
查询表格
姓名:
电邮:
电话或移动电话:
预计旅行日期:
预计停留时间:
任何其他信息:
如果我这样做
$mail_status=mail($mail_to,'subject','body_message','headers')
它完美地发送了一封基本的电子邮件
在任何情况下,都会出现查询发送警报
有人知道它为什么不起作用吗?1-确切地说,你得到了什么?是空邮件还是根本没有邮件 2-试着调试你的$_帖子,就像用户1593858说的那样。在php开始标记之后添加以下内容:
echo "<pre>";
print_r($_POST);
echo "</pre>";
它起作用了;我们尝试用
$subject
替换'subject',或用$body\u message
替换'body\u message',直到您发现问题。运行var\u转储(get\u defined\u vars())代码>并确保已设置它们。还请检查/var/mail/user
其中user
是PHP或Apache用户,查看在操作系统级别抛出的错误。是否有任何错误?您是否真的收到JS alert()通知您“查询发送失败”?您是否尝试回显post数据以确保您得到了预期的结果?另外,我相信“inquiry”是更常见的拼写,虽然inquiry没有什么错。我是php新手,这是我创建的第一个网站,到底是什么意思?而发出的查询总是会出现:建议:使用;普通的mail()
函数并不是很好。我根本没有收到一封电子邮件:S正在进行回显-所有变量都得到了正确的值,只有$body\u消息有效。。。另外两个都不起作用:SSorry我不知道如何:S我应该插入var_dump(get_defined_vars());进入php代码?
$mail_status = mail($mail_to, 'subject', 'body_message', 'headers');