Код: Выделить всё
<?php
use PHPMailer\PHPMailer\PHPMailer;
require 'PHPMailer.php';
require 'SMTP.php';
function ValidateEmail($email)
{
$pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
return preg_match($pattern, $email);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['formid']) && $_POST['formid'] == 'contacts')
{
$mailto = 'mail_address@mail.ru';
$mailfrom = isset($_POST['email']) ? $_POST['email'] : $mailto;
$subject = 'Сообщение';
$message = 'Текст';
$success_url = './';
$error_url = './';
$error = '';
$autoresponder_from = 'mail_address@mail.ru';
$autoresponder_to = isset($_POST['email']) ? $_POST['email'] : $mailfrom;
$autoresponder_subject = 'Автоответчик';
$autoresponder_message = 'Текст';
$eol = "\n";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'smtp.mail.ru';
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = 'mail_address@mail.ru';
$mail->Password = 'password';
$mail->Subject = stripslashes($subject);
$mail->From = $mailfrom;
$mail->FromName = $mailfrom;
$mailto_array = explode(",", $mailto);
for ($i = 0; $i < count($mailto_array); $i++)
{
if(trim($mailto_array[$i]) != "")
{
$mail->AddAddress($mailto_array[$i], "");
}
}
$mail->AddReplyTo($mailfrom);
if (!ValidateEmail($mailfrom))
{
$error .= "The specified email address is invalid!\n<br>";
}
if (!empty($error))
{
$errorcode = file_get_contents($error_url);
$replace = "##error##";
$errorcode = str_replace($replace, $error, $errorcode);
echo $errorcode;
exit;
}
$internalfields = array ("submit", "reset", "send", "filesize", "formid", "captcha_code", "recaptcha_challenge_field", "recaptcha_response_field", "g-recaptcha-response");
$message .= $eol;
$message .= "IP Address : ";
$message .= $_SERVER['REMOTE_ADDR'];
$message .= $eol;
$logdata = '';
foreach ($_POST as $key => $value)
{
if (!in_array(strtolower($key), $internalfields))
{
if (!is_array($value))
{
$message .= ucwords(str_replace("_", " ", $key)) . " : " . $value . $eol;
}
else
{
$message .= ucwords(str_replace("_", " ", $key)) . " : " . implode(",", $value) . $eol;
}
}
}
$mail->CharSet = 'UTF-8';
if (!empty($_FILES))
{
foreach ($_FILES as $key => $value)
{
if ($_FILES[$key]['error'] == 0)
{
$mail->AddAttachment($_FILES[$key]['tmp_name'], $_FILES[$key]['name']);
}
}
}
$mail->WordWrap = 80;
$mail->Body = $message;
if (!$mail->Send())
{
die('PHPMailer error: ' . $mail->ErrorInfo);
}
$mail->ClearAddresses();
$mail->ClearAttachments();
$mail->Subject = stripslashes($autoresponder_subject);
$mail->From = $autoresponder_from;
$mail->FromName = $autoresponder_from;
$mail->AddAddress($autoresponder_to, "");
$mail->AddReplyTo($autoresponder_from);
$mail->IsHTML(false);
$mail->WordWrap = 80;
$mail->Body = $autoresponder_message;
if (!$mail->Send())
{
die('PHPMailer error: ' . $mail->ErrorInfo);
}
header('Location: '.$success_url);
exit;
}
?>Знает ли кто решение данной проблемы?
Отправлено спустя 38 минут 24 секунды:
Итак, всё же удалось решить проблему - заменил наименование Editbox'а (в котором вводится email), его имя и имя поля ввода в автоответчике на "Email" (без кавычек, первая буква заглавная).

