Автоответчик шлёт сообщения на мой email

Вопросы, связанные с формами в WYSIWYG Web Builder.
Правила форума
1. Название темы должно кратко описывать суть вашего вопроса, темы типа: "Помогите", "Почему", "Что это", "Что-то глючит" - будут удаляться.
2. Задавая свой вопрос, постарайтесь предоставить максимум информации о проблеме, если есть возможность, приложите шаблон проекта *.wtp.
Подробнее: Правила создания новых тем и ответов на существующие темы.
Данный форум - это место обсуждения вопроса, а не техподдержка в классическом смысле. Все участники форума Web Builder по-русски с удовольствием вам помогут, если это будет в их силах.
Ответить
Аватара пользователя

Автор Темы
Phorcys
Неофит
Сообщения: 2
Зарегистрирован: 29 дек 2018, 03:28
Версия Web Builder: 14.2.2

Автоответчик шлёт сообщения на мой email

Сообщение Phorcys » 22 фев 2019, 04:10

Здравствуйте, уважаемые форумчане, я тщательно искал решение своей проблемы на форуме, но нашёл лишь совет, что проблема в написании "email" в "Имя поля ввода". У меня там всё правильно, но автоответчик всё равно шлёт сообщения мне же самому. Вот мой конфиг PHPMailer'а:

Код: Выделить всё

<?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" (без кавычек, первая буква заглавная).

Реклама
Ответить

Вернуться в «Формы.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя