我知道这个问题有很多解决方案,但我需要以联系方式验证电子邮件。
到目前为止这是我的php邮件:
<?php
if (isset($_POST['send'])){
$to = "mail@mail.something";
$subject = "new message";
$firstname = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$headers = "From: $email";
$sent = mail($to, $subject, $message, $headers) ;
if($sent)
{echo "<script>alert('thanks for the message:) ');</script>";
}else
{echo "<script>alert('sorry, message wasn't send');</script>"; }
}
?>
我尝试过filter_var
$result = filter_var( 'something@something.something', FILTER_VALIDATE_EMAIL );
但是,不起作用。
如果我通过联系表单发送邮件的方式不是“最佳实践方式”,请随时纠正我并发送给我正确的道路:D
答案 0 :(得分:0)
如果您向我们展示您的HTML,我们可以提供进一步的帮助,但只使用您的PHP,我们没有太多工作要做。
将error_reporting(E_ALL);
和ini_set('display_errors', 1);
添加到您的php页面顶部以打印您的错误。
我不确定是什么原因导致您的错误。但我希望您尝试以下代码。用这个替换你的if语句。
未来请注意,要在php中添加javascript警报,您应该这样格式化,
if(mail($to, $subject, $message, $headers))
{
echo '<script language="javascript">'; //echo open tag
echo 'alert("Your message has been sent")'; // echo alert
echo '</script>'; //echo close tag
}else{
echo '<script language="javascript">';
echo 'alert("Your message was not successful")';
echo '</script>';
}