【发布时间】:2015-04-21 04:35:34
【问题描述】:
我有一个邮件表单,它不会将放置在文本区域中的输入提交给我插入的电子邮件。 我对 PHP 完全陌生。 这种形式过去对我有用。 我正在尝试从 freehostia.com 服务器运行表单,我有第一个宣传 SMTP 的升级计划。 这是我的 HTML:
<form action="contact.php" method="post">First name:
<br>
<input class="A" id="B" type="text" name="name" size="25">
<br>
E-mail:
<br>
<input class="A" id="A" type="text" name="email" size="35">
<textarea id="A" name="message" rows="10" cols="50" placeholder="Please provide your information..."></textarea>
<div>
<input class="size" type="submit" value="Send!" />
</div>
</form>
这是我的 PHP 内容:
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = 'XXXX@XX.com';
$subject = 'MESSAGE FROM SITE VISITOR ' . $field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = "From: $email\r\n";
$headers .= "Reply-To: $email\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for the message. We will contact you shortly.')
window.location = 'index.html';
</script>
<?php }
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed. Please, send an email to XXXX@XX.com');
window.location = 'contact.html';
</script>
<?php } ?>
对我来说,一切似乎都已到位。我一辈子都想不通我在这里做错了什么。
【问题讨论】:
-
嘿 $mail_to 一定是您从该字段中获得的值吧?这些 $email 变量是什么,我看不到它们在任何地方被声明或初始化。
-
你的表单是正常提交的,还是通过ajax/JavaScript提交的?如果是后者,这可能是一个非独特的问题。
-
@Sean 在我看来就像普通提交一样。但是代码有很多错误和未声明的变量
-
如果您可以添加您知道它不起作用的原因(例如任何明确的错误消息),这将有所帮助。你收到“谢谢”提醒了吗?还是“消息失败”警报?还是默默地失败了?
-
它返回“消息失败”警报。
标签: javascript php html forms email