我在php中发送邮件有问题。在这个文本下面是我的代码.Echo用于脚本工作,否则如果也工作,但只有没有工作的东西是mail()
<?php
if (isset($_POST['submit'])) {
$datumod = $_POST['dateod'];
$datumdo = $_POST['datedo'];
$broj = $_POST['phone'];
$email = $_POST['email'];
if (empty($datumod) || empty($datumdo) || empty($broj) || filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo "<script>
alert('Morate popuniti sva polja tacno kako bi znali da li ima rezervisanih soba u tom vremenskom intervalu!');
</script>";
}
else {
$poruka = "Jedna osoba je htela da proveri da li ima slobodnih soba od ".$datumod." do ".$datumdo."Broj telefona:".$broj."Email od tog korisnika:".$email."";
$headers = array("From: vakijevsvet@yahoo.com",
"Reply-To: vakijevsvet@yahoo.com",
"X-Mailer: PHP/" . PHP_VERSION
);
mail('vakijevsvet@yahoo.com','Prenociste',$poruka,$headers);
echo "<script>
alert('Uspesno ste poslali Vasu rezervaciju,u roku od 24h cete dobiti odgovor o kapacitetu prenocista u tom vremenskom intervalu.');
</script>";
}
}
?>
答案 0 :(得分:1)
标题应为string
且不 array
,因此请更改此标题:
$headers = array("From: vakijevsvet@yahoo.com",
"Reply-To: vakijevsvet@yahoo.com",
"X-Mailer: PHP/" . PHP_VERSION
);
到此:
$headers = "From: vakijevsvet@yahoo.com\r\n";
$headers .= "Reply-To: vakijevsvet@yahoo.com\r\n";
$headers .= "X-Mailer: PHP/" . PHP_VERSION . "\r\n";
它应该可以正常工作。
此外,为了避免垃圾邮件,我建议您使用像PHPMailer这样的库。这不会100%保证它会阻止电子邮件进入垃圾邮件。它只是一个推荐,是PHP mail()
功能的改进。有像您的服务器配置一样的东西。但在这种情况下,正如我所说的只是一个建议。您可以使用mail()
或PHPMailer,这是您的选择。