AjaxForm: не отправляет письма

Добрый день. Документацию читала, Formit письма отправляет, AjaxForm ошибок не выдает — пишет что сообщение отправлено, но писем нет. Домен русскоязычный — хотя вряд ли это влияет.
Вот вызов:
[[!AjaxForm?
                        &snippet=`FormIt`
                        &form=`test`
                        &emailTpl=`email.tpl`
                        &emailSubject=`Новогодняя ночь`
                        &emailTo=`site@site.ru`
                        &validate=`name:required`
                        &validationErrorMessage=`В форме содержатся ошибки!`
                        &successMessage=`Сообщение успешно отправлено`
                    ]]
Чанк mytpl.AjaxForm
<form action="" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<input type="text" id="af_name" name="name" value="[[+fi.name]]"  placeholder="Имя" required class="span4" />
<span class="error_name">[[+fi.error.name]]</span>
<input type="phone" id="af_phone" name="phone" value="[[+fi.email]]" placeholder="Телефон" required class="span4" />
<span class="error_phone">[[+fi.error.phone]]</span>

<button type="submit" class="btn btn-inverse">[[%af_submit]]</button>
 	[[+fi.success:is=`1`:then=`
		<div class="alert alert-success">[[+fi.successMessage]]</div>
	`]]
	[[+fi.validation_error:is=`1`:then=`
		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
	`]]
</form>
email.tpl тоже имеется.
Любовь
10 декабря 2015, 13:00
modx.pro
1
7 807
0

Комментарии: 13

Александр Янк
10 декабря 2015, 16:58
0
<form action="[[~[[*id]]]]" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">

<input type="text" id="af_name" name="name" value="[[+fi.name]]"  placeholder="Имя" required class="span4" />
<span class="error_name">[[+fi.error.name]]</span>

<input type="text" id="af_phone" name="phone" value="[[+fi.phone]]" placeholder="Телефон" required class="span4" />
<span class="error_phone">[[+fi.error.phone]]</span>

<button type="submit" class="btn btn-inverse">[[%af_submit]]</button>
 	[[+fi.success:is=`1`:then=`
		<div class="alert alert-success">[[+fi.successMessage]]</div>
	`]]
	[[+fi.validation_error:is=`1`:then=`
		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
	`]]
</form>
    Любовь
    10 декабря 2015, 17:12
    0
    action="[[~[[*id]]]]" поставила, результат тот же((
      Александр Янк
      10 декабря 2015, 18:31
      0
      Вы что не видите, что не в нем дело? весь код скопируйте

      Ваш код
      <input type="phone" id="af_phone" name="phone" value="[[+fi.email]]" placeholder="Телефон" required class="span4" />
      Мой код
      <input type="text" id="af_phone" name="phone" value="[[+fi.phone]]" placeholder="Телефон" required class="span4" />

      А этот код, что бы форма проходила валидацию
      [[~[[*id]]]]
        Любовь
        10 декабря 2015, 18:38
        0
        А смысл? Второе поле даже в валидации не прописано. Пишет что успешно отправлено, письма нет.
        Спасибо, что указали на опечатку. Проблема не решена.
    Максим Кузнецов
    10 декабря 2015, 19:11
    +1
    Ну, каких то вопиющих ошибок в коде/вызове я не обнаружил, разве что:
    name="phone" value="[[+fi.email]]"
    — насторожило.

    Если у вас возвращается положительный ответ, то, скорее всего проблема не в форме (тем более, что ajaxform просто обертка для обработки formlt), а в последующих действиях:
    — попадает ли что-нибудь в лог?
    — есть ли ошибки в консоли?
    — чем у вас отправляются письма — smtp?
    — возможно, письма просто ушли в спам?

    + могу еще поррекомендовать выставить &emailFrom и &hooks=`email` — на некоторых хостингах замечал такую багу, что без его указание форма обрабатывалась некорректно.

    И да, напрямую к делу не относится, просто интересуюсь — у вас корректно отрабатывает этот код:
    [[+fi.success:is=`1`:then=`
    		<div class="alert alert-success">[[+fi.successMessage]]</div>
    	`]]
    	[[+fi.validation_error:is=`1`:then=`
    		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
    	`]]
      Любовь
      10 декабря 2015, 19:18
      0
      Да, забыла написать в логе тоже пусто. Как и в консоли. В спаме тоже пусто. Никаких особенных настроек для почты в modx я не делала. Точно такая же форма на другом сайте обрабатывается нормально — собственно оттуда и копировала. Хостинг reg.ru
      email мне вообще не нужен — это форма для заказа обратного звонка.
      &emailFrom — тут тоже почту поставить? Поставила, не работало

      Код отрабатывается, поля на заполненность проверяет.
        Максим Кузнецов
        10 декабря 2015, 19:23
        0
        Точно такая же форма на другом сайте обрабатывается нормально
        Тогда, скорее всего, проблема в хостере — у них может банально стоять антиспам-модуль, запрет на отправку писем с тестового хостинга и тд и тп — вариантов удивить у них всегда хватает…

        Попробуйте отправить тестовое письмо вот этим, чтобы узнать наверняка.
          Любовь
          10 декабря 2015, 19:46
          0
          Fromit отправляет. Хостинг не тестовый, домен только русскоязычный.
            Любовь
            10 декабря 2015, 19:50
            0
            QuickEmail тоже работает.
        Александр Янк
        10 декабря 2015, 19:47
        0
        и скиньте код этого чанка email.tpl
          Любовь
          10 декабря 2015, 19:52
          0
          <h3>Сообщение с сайта <a href="[[+site_url]]">[[++site_name]]</a></h3>
          <p><b>Имя</b>: [[+name]]</p>
          <p><b>Телефон</b>: [[+phone]]</p>
            Александр Янк
            10 декабря 2015, 19:55
            +3
            Понятно все
            добавьте &hooks=`email`
            [[!AjaxForm?
            	&snippet=`FormIt`
            	&form=`test`
            	&hooks=`email`
            	&emailTpl=`email.tpl`
            	&emailSubject=`Новогодняя ночь`
            	&emailTo=`site@site.ru`
            	&validate=`name:required`
            	&validationErrorMessage=`В форме содержатся ошибки!`
            	&successMessage=`Сообщение успешно отправлено`
            ]]
              Любовь
              10 декабря 2015, 19:57
              0
              А вот это сработало. Спасибо!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          13