PHPMailer没有给出任何错误,但电子邮件卡在队列中

PHPMailer没有给出任何错误,但电子邮件卡在队列中,php,iis,smtp,phpmailer,Php,Iis,Smtp,Phpmailer,我有一个表单,它使用PHPMailer将表单内容发送到电子邮件地址。以下是脚本: <?php require_once('assets/PHPMailer/class.phpmailer.php'); $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $phone = $_POST['phone']; $email = $_POST['email']; $job = $_POST['job'];

我有一个表单,它使用PHPMailer将表单内容发送到电子邮件地址。以下是脚本:

<?php

require_once('assets/PHPMailer/class.phpmailer.php');

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$job = $_POST['job'];
$file = $_FILES['fileUpload']['name'];


$mail = new PHPMailer();


$mail->From = "jobform@website.com";
$mail->FromName  =  "Job Form";
$mail->AddAddress("receivingaddress@website.com","Job Form");

$mail->WordWrap = 50;  

$mail->Subject = "Job Form";
$mail->Body="
            First Name: $first_name
            Last Name: $last_name
            Phone Number: $phone
            Email: $email
            Job: $job";

$maxsize = 2 * 1024 * 1024;
$types = array('application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');


if ((isset($_FILES['fileUpload']) && $_FILES['fileUpload']['error'] == UPLOAD_ERR_OK) && $_FILES['fileUpload']['size'] < $maxsize && in_array( $_FILES['fileUpload']['type'], $types)) {
    $mail->AddAttachment($_FILES['fileUpload']['tmp_name'],
                         $_FILES['fileUpload']['name']);
} else {

  header("Refresh: 3; URL=http://www.interactive360.com/join-our-team.php");
  echo 'Please upload a PDF or Word Document that is under 2MB';
  exit();

}

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email)) {
      header("Refresh: 3; URL=http://www.website.com/join-our-team.php");
      echo 'Please enter a valid email address';
      exit();
}

if($first_name == '') {
      header("Refresh: 2; URL=http://www.website.com/join-our-team.php");
      echo 'Please enter your first name';
      exit();
}

if($last_name == '') {
      header("Refresh: 2; URL=http://www.website.com/join-our-team.php");
      echo 'Please enter your last name';
      exit();
}


if(!$mail->Send())
{
   echo 'Message was not sent.';
   echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
  header("Refresh: 2; URL=http://www.website.com/");
   echo 'Thank you for your feedback.';
}

?>

当我提交表单时,我会收到一条成功消息(感谢您的反馈)。但我的收件箱中永远不会出现电子邮件。我的网站正在Windows Server 2012上运行。我安装了SMTP服务器,允许所有计算机通过虚拟服务器进行中继


当我检查inetpub>mailroot>Badmail文件夹时,没有“坏”电子邮件。而是将电子邮件保存到inetpub>mailroot>Queue文件夹中。这是否意味着存在连接问题?是否有特定的smtp设置需要更改,或者我应该修改我的php脚本

哪些日志?电子邮件显示在队列文件夹中,但我不知道要检查哪些日志。SMTP服务器的日志。确保它正在运行和转发电子邮件。如果邮件进入队列,则问题不在于PHP,而在于SMTP服务器。您应该向serverfault.com寻求帮助,这不是编程问题。Barmar,谢谢您的帮助。我将把问题移到服务器故障上。