繁体   English   中英

联系表单发送电子邮件但返回错误消息

[英]Contact form sending emails but returning error message

我按照本页上的说明设置了联系表格的验证。 表单发送电子邮件,但仍返回“错误!” 信息。 我相信问题出在Mail.PHP文件,因为错误消息是die函数中使用的错误消息

PHP验证

<?php
if(isset( $_POST['contact-name']))
  $name = $_POST['contact-name'];
if(isset( $_POST['contact-email']))
  $email = $_POST['contact-email'];
if(isset( $_POST['contact-tel']))
  $tel = $_POST['contact-tel'];
if(isset( $_POST['contact-subject']))
  $subject = $_POST['contact-subject'];
if(isset( $_POST['contact-message']))
  $message = $_POST['contact-message'];
if ($name === ''){
  echo "Name cannot be empty.";
  die();
}
if ($email === ''){
  echo "Email cannot be empty.";
  die();
} else {
  if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
    echo "Email format invalid.";
    die();
  }
}
  if ($tel === ''){
  echo "Phone number cannot be empty.";
  die();
}
if ($subject === ''){
  echo "Subject cannot be empty.";
  die();
}
if ($message === ''){
  echo "Message cannot be empty.";
  die();
}

$content="From: $name \n Email: $email \n Phone number:$tel \n Message: $message";
$recipient = 'kimpope1@cox.net';
$header = 'BCC: jonwashdesigns@gmail.com'.PHP_EOL;
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader, $header) or die("Error!");
echo "Email sent!";
?>

在此处输入图片说明

而不是使用

mail($recipient, $subject, $content, $mailheader, $header) or die("Error!");

采用

$status = mail($recipient, $subject, $content, $mailheader, $header);
echo $status ? 'Mail sent' : 'Error sending mail';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM