没有语法错误,但php电子邮件表单继续失败
希望你能帮上忙,因为我现在很为难 我的网站上有两个地方实现了一些代码 由于某种原因,表单无法每次发送。下面是代码,我已经通过语法检查器运行了它,就这一点而言还可以没有语法错误,但php电子邮件表单继续失败,php,html,forms,Php,Html,Forms,希望你能帮上忙,因为我现在很为难 我的网站上有两个地方实现了一些代码 由于某种原因,表单无法每次发送。下面是代码,我已经通过语法检查器运行了它,就这一点而言还可以 <?php $name = $_POST['name']; $email = $_POST['email']; $number = $_POST['number']; $message = $_POST['message']; $from = 'From: Roofing Solution
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$from = 'From: Roofing Solutions Contact Form';
$to = 'info@allroofingsolutions.com';
$subject = 'Question Sent From Website Form';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>
所以我对此感到困惑。为了安全起见,以下是html表单:
<form method="post" action="contactform.php">
<label>Name</label>
<input name="name" placeholder="Type Here">
<label>Email</label>
<input name="email" type="email" placeholder="Type Here">
<label>Contact Number</label>
<input name="number" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<input id="submit" name="submit" type="submit" value="Submit">
</form>
名称
电子邮件
联系电话
消息
*什么是2+2?(反垃圾邮件)
谢谢你的帮助。我不知道你在用身体和信息做什么,这对我来说很奇怪。表单应该在标题中,
add header part..
/ To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
最常见的解决方案:
您的php部分:
$to = 'info@allroofingsolutions.com';
$subject = 'Question Sent From Website Form';
$message = "E-Mail: ".$_POST['email']."\n<br />Number: ".$_POST['number']."\n<hr />Message:\n ".$_POST['message'];
$headers = "From: Roofing Solutions Contact Form <".$to.">\r\n" ;
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n" ;
if ($_POST['submit'] && _POST['human'] == '4') {
if (mail ($to, $subject, $message, $headers)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && _POST['human'] != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
$to='1!'info@allroofingsolutions.com';
$subject='从网站表单发送的问题';
$message=“E-Mail:“.$\u POST['email'].”\n
编号:“.$\u POST['Number'].\n
邮件:\n.$\u POST['message'];
$headers=“From:roof Solutions Contact Form\r\n”;
$headers.='MIME版本:1.0'。“\r\n”;
$headers.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”;
如果($_POST['submit']&&&_POST['human']=='4'){
如果(邮件($to,$subject,$message,$headers)){
回显“您的邮件已发送!”;
}否则{
echo“出现问题,请返回并重试!”;
}
}否则如果($_POST['submit']和&&_POST['human']!='4'){
echo“您错误地回答了反垃圾邮件问题!”;
}
你的$from
看起来很吓人。-1你的from副本应该在标题中。参见本页示例2:谢谢你,皮埃尔。我很高兴像你这样的人在这个网站上。可悲的是,这附近有太多的法比安人,我根本不喜欢这里。这始终是最后一个调用端口。