На сайте размещены несколько форм обратной связи, где указывается имя и телефон, реализованы формы на связке Formit и AjaxForm.
Вверсия CMS MODX Revolution 2.7.2-pl.
Код вставки снипета для формы
[[!AjaxForm?
&snippet=`FormIt`
&hooks=`email`
&form=`tpl.form2`
&emailTpl=`form.email.tpl`
&emailSubject=`Сообщение "[[++site_name]]"`
&emailTo=`[[++email]]`
&emailFrom=`[[++email]]`
&emailFromName=`[[++site_name]]`
&submitVar=`2`
&validate=`name:required,phone:required`
&successMessage=`Ваша заявка отправлена<br>Мы свяжимся с Вами в ближайшее время!`
&validationErrorMessage=`В форме содержатся ошибки! Проверьте поля формы!`
]]
При отправки формы вываливается сообщение «Форма содержит ошибки», и этот текст, как видно из примера, не установлен в validationErrorMessage
Проверил работу функции mail(), через отдельный скрипт, вдруг она не работает, но нет, функция рабочая и письмо отсылается.
Так вот, для обнаружения причины ошибки использовал QuickEmail. Установил его и активировал через админку, для это есть в MODx «Менеджер пакетов».
Открываем шаблон где используется форма, и добавляем следующий код в конце страницы
<!--
[[!QuickEmail?
&to=`[[++email]]`
&debug=`1`
]]
-->
где, [[++email]] — переменная где хранится почта,
или можно ввести почту так: &to=`my-email@email.ru`
Вызов сниппета обрамил комментарием для того чтобы не светить инфу на экране, для не посвященных пользователей, так и каробить внешний вид сайта не будет.
После открываем страницу, где размещен сниппет, и смотрим в коде, информацию по отправке почты.
Весь отчет выданный QuickEmail выкладывать не буду, так как в нем находится конфиденциальная информация, скажу только что в отчете указывается какие данные используются для передачи письма на почтовый сервер, и в моем случае, оказывается почта шла по SMTP (параметры для подключения были в отчете), и сообщение о результате отправки
Ошибка SMTP: ошибка авторизации.
Исходя из этих данных, сразу становится понятным, какая причина в том что письма не уходят.



