IIS8 で実行しているサイトがあり、PHPMailer が正常に動作しています。その後、どこからともなく、「メッセージが送信されませんでした。メーラーエラー:メール機能をインスタンス化できませんでした」というエラーが表示され始めました。また、PHPMailer を使用しない別の php メール フォームも機能していないようです。機能していないということは、機能しているように見えますが、メールが受信トレイに表示されないということです。これが IIS の問題なのか PHP の問題なのかわかりません。これが 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@url.com";
$mail->FromName = "Job Form";
$address = "email@url.com";
$mail->AddAddress($address);
$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 {
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)) {
echo 'Please enter a valid email address';
exit();
}
if($first_name == '') {
echo 'Please enter your first name';
exit();
}
if($last_name == '') {
echo 'Please enter your last name';
exit();
}
if(!$mail->Send())
{
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
echo 'Thank you for your feedback.';
}
?>