HTML5/PHP表单突然获胜';不要发邮件
几天前,它基本上工作正常,今天我在MAMP上再次测试了它,我不再收到电子邮件,所以mail()没有启动?请帮忙 这是我在索引页中的表单HTML5/PHP表单突然获胜';不要发邮件,php,html,forms,email,Php,Html,Forms,Email,几天前,它基本上工作正常,今天我在MAMP上再次测试了它,我不再收到电子邮件,所以mail()没有启动?请帮忙 这是我在索引页中的表单 <form method="POST" action="form.php"> <label>Name</label> <input name="name" placeholder="Full Name" required> <label>Email</label> <input na
<form method="POST" action="form.php">
<label>Name</label>
<input name="name" placeholder="Full Name" required>
<label>Email</label>
<input name="email" type="email" placeholder="Email Address" required>
<label>Company</label>
<input name="company" type="text" placeholder="Your Company" required>
<input type="hidden" name="robots" value="" required/>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
名称
电子邮件
单位
这是我的外部form.php文件
<?php
$name = mysql_real_escape_string(strip_tags($_POST['name']));
$email = mysql_real_escape_string(strip_tags($_POST['email']));
$company = mysql_real_escape_string(strip_tags($_POST['company']));
$robots = mysql_real_escape_string(strip_tags($_POST['robots']));
$from = 'From:RegisterForm';
$to = 'sofi.smith@blah.com';
$subject = 'Lead';
$body = "From: $name\n E-Mail: $email\n company: $company\n ";
if($_POST['submit']) {
if($robots == '') {
if (mail($to, $subject, $body, $from)) {
header('Location: thank-you-page.html');
} else {
echo '<p>Something went wrong, please try again</p>';
}
} else {
echo 'Sorry, we don\'t like spammers here!';
}
}
?><!doctype html>
<head>
<meta charset="UTF-8">
<title>Form</title>
</head>
<body>
</body>
</html>
形式
Mamp php日志在日志中显示除折旧元素之外的所有错误,当我删除该元素时,它没有任何区别
mysql\u real\u escape\u字符串需要有效的mysql连接,但不需要显式传递。在mysqli_real_escape_string()中,需要显式传递的字符串。尝试删除mysql_real_escape_string(),因为如果失败,它可能不会返回任何字符串,并且可能会得到空值;但仍然没有更好:(嗯,外出服务器似乎有问题,或者你可能会检查标题部分,因为它看起来不好。请检查@AdrianSo的答案我的代码没有明显问题?我已经删除了标题并尝试回显“成功”,但仍然没有电子邮件?好的,你可能要做的第一件事是确定
mail()
返回true
(这意味着成功传递)。尝试独立地var\u dump(mail(…)
,它说明了什么?我将使用的from电子邮件不是有效的电子邮件。大多数服务器阻止..from:Name\r\n例如from:Max Lastname\r\n