FormIt не принимает параметр emailTo
Приветствую!
Перенес сайт с таймвеба на рег ру, как и все обычные пользователи т.е. замена путей, очистка кеша, подключение бд, но появилась беда с FormIt.
1. До этого вызывался AjaxForm со сниппетом FormIt, параметре &form был указ через INLINE и конечно же работал нормально. После переноса начал отображаться массив, заменил INLINE на чанк, форма появилась.
&emailTo указан явно, так что не должно быть такого. Чтож, думал что-то с AjaxForm.
Вызывал тестовый FormIt без валидации, как бы должно отправляться письмо, но в лог опять пишется ошибка
Искал в инете и на иностранных тоже, ничего не нашел. Нашел только modx.pro/help/3801/ но ито проблема не решена.
Подскажите в чем проблема?
Перенес сайт с таймвеба на рег ру, как и все обычные пользователи т.е. замена путей, очистка кеша, подключение бд, но появилась беда с FormIt.
1. До этого вызывался AjaxForm со сниппетом FormIt, параметре &form был указ через INLINE и конечно же работал нормально. После переноса начал отображаться массив, заменил INLINE на чанк, форма появилась.
[[!AjaxForm?
&snippet=`FormIt`
&form=`formZvonok`
&emailTpl=`letterZvonok.sent`
&hooks=`spam,email`
&emailSubject=`Обратный звонок`
&emailTo=`email@gmail.com`
&validate=`callback_name:required,callback_time:required,callback_phone:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение отправлено!`
]]
2. Теперь при нажатии отправить форму в лог пишется ошибка[FormIt] Пожалуйста, укажите получателя или получателей электронной почты.
&emailTo указан явно, так что не должно быть такого. Чтож, думал что-то с AjaxForm.
Вызывал тестовый FormIt без валидации, как бы должно отправляться письмо, но в лог опять пишется ошибка
[FormIt] Пожалуйста, укажите получателя или получателей электронной почты.
[[!FormIt?
&hooks=`email`
&emailTpl=`letterZvonok.sent`
&emailSubject=`Message`
&emailTo=`me@myemailaddress.com`
]]
<form id="contactForm" method="post" action="[[~[[*id]]]]">
<strong>Please use the form below to send us an email:</strong>
<div>
<label for="contact_name">Name </label><em>(required, at least 2 characters)</em><br />
<input id="contact_name" name="contact_name" value="[[!+fi.contact_name]]" />
</div>
<input name="submit" type="submit" value="Submit"/>
</div>
</form>
Письма отправляться, проверял через php.Искал в инете и на иностранных тоже, ничего не нашел. Нашел только modx.pro/help/3801/ но ито проблема не решена.
Подскажите в чем проблема?
Комментарии: 32
Попробуйте указать явно &emailFrom, причем, с тем же доменом, что и сайт.
Не очень понял
&emailFrom=`From: Free Life <gmail@gmail.com>`
Это ничего не дало
&emailFrom=`From: Free Life <gmail@gmail.com>`
Это ничего не дало
Допустим, у Вас домен site.ru.
Попробуйте в вызове указать параметр:
Попробуйте в вызове указать параметр:
[[!FormIt?
&hooks=`email`
&emailTpl=`letterZvonok.sent`
&emailSubject=`Message`
&emailTo=`me@myemailaddress.com`
&emailFrom=`info@site.ru`
]]
А, просто email подставлял до этого.
Попробовал, та же беда.
Попробовал, та же беда.
может у вас несколько форм вызывается на странице? попробуйте добавить параметр &submitVar
Вряд ли проблема в нем. Я использую AjaxForm который автоматический добавляет скрытое поле с индетификатором формы. Вызов FormIt для убедительности, что не работает из-за него.
Как минимум интересно почему после переноса перестал воспринимать INLINE?
Как минимум интересно почему после переноса перестал воспринимать INLINE?
попробовал вызов на отдельной странице, письмо пришло.
Пробую так же отдельный вызов AjaxForm, ошибка та же.
в ht проверил php_flag register_globals Off
[[!FormIt?
&hooks=`email`
&emailTpl=`letterZvonok.sent`
&emailSubject=`Message`
&emailTo=`me@myemailaddress.com`
]]
<form id="contactForm" method="post" action="[[~[[*id]]]]">
<strong>Please use the form below to send us an email:</strong>
<div>
<label for="contact_name">Name </label><em>(required, at least 2 characters)</em><br />
<input id="contact_name" name="contact_name" value="[[!+fi.contact_name]]" />
</div>
<input name="submit" type="submit" value="Submit"/>
</div>
</form>
Пробую так же отдельный вызов AjaxForm, ошибка та же.
в ht проверил php_flag register_globals Off
Чтож, по принципу если не работает твое смотри документацию, вставь то, что есть в документации.
Formit и AjaxForm переустанавливал.
Скоро лопнет голова…
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.example`
&hooks=`email`
&emailSubject=`Тестовое сообщение`
&emailTo=`info@domain.com`
&validate=`name:required,email:required,message:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
Вставил на страницу, других форм на ней нет. Пытаюсь отправить с пустыми полями, и только на поле email выдает ошибку, хотя в валидации указанно name и message. Пытаюсь проделать тоже самое на таймвебе, там все как и должно быть, настолько хорошо, что я вставляю два одинаковых вызова и они нормально работают. Formit и AjaxForm переустанавливал.
Скоро лопнет голова…
Настройка
emailsender укажите тот емайл который указан в emailFrom
emailsender укажите тот емайл который указан в emailFrom
Может проблема в настройке email_sender? Он должен совпадать с именем отправителя формы.
Сейчас попробовал снести сайт, установил голый modx, установил FormIt и Ajaxform.
Поставил из документации вызов AjaxForm(выше мой коммент) — Все та же ошибка в логе.
Хостинг reg.ru
Нашел строчку которая выдает эту ошибку в лог
Поставил из документации вызов AjaxForm(выше мой коммент) — Все та же ошибка в логе.
Хостинг reg.ru
Нашел строчку которая выдает эту ошибку в лог
/* check email to */
$emailTo = $this->modx->getOption('emailTo',$this->formit->config,'');
$emailToName = $this->modx->getOption('emailToName',$this->formit->config,$emailTo);
if (empty($emailTo)) {
$this->errors['emailTo'] = $this->modx->lexicon('formit.email_no_recipient');
$this->modx->log(modX::LOG_LEVEL_ERROR,'[FormIt] '.$this->modx->lexicon('formit.email_no_recipient'));
return false;
}
но пока это ничего не дает.
emailsender такой же как и &emailFrom?
э как бы emailFrom вообще не вводил никуда.
Т.к. ошибка говорит о том что нет получаетелей
Отправляю форму (не заполнял ничего), пишет, что успешно отправлена, но ни письма ни проверки на валидацию.
emailsender — стоит совсем другой email
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.example`
&hooks=`email`
&emailSubject=`Тестовое сообщение`
&emailTo=`мой адрес`
&validate=`name:required,email:required,message:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
В параметрах сниппета FormIt по умолчанию указал emailFrom (asdasd@mail.ru), вот его описание:Хук «email». Необязательный параметр. Если этот параметр установлен, то он будет определять адрес электронной почты отправителя письма. Если не установлен, то сначала адрес электронной почты будет искаться в данных формы в поле с именем «email», если это поле не будет найдено, то будет использоваться адрес электронной почты из системной настройки «emailsender».
Т.к. ошибка говорит о том что нет получаетелей
Пожалуйста, укажите получателя или получателей электронной почты.пробовал указать параметрах сниппета FormIt параметр emailTo — туда вставил свой email.
Отправляю форму (не заполнял ничего), пишет, что успешно отправлена, но ни письма ни проверки на валидацию.
emailsender — стоит совсем другой email
Вот сделай их одинаковыми
emailFrom = emailsender
Даже в вызове поставил emailFrom такой же.
Не помогло.
Я не понимаю причем тут emailFrom?
Если ошибка говорит:
Даже в вызове поставил emailFrom такой же.
Не помогло.
Я не понимаю причем тут emailFrom?
Если ошибка говорит:
Пожалуйста, укажите получателя или получателей электронной почты.т.е. проблема с emailTo
Доступы можно в личку, посмотрим
Отправил
Есть в итоге решение? А то столкнулся с такой же проблемой
не нашел решения, только смена хостинга.
вывод?! хостинг рег.ру = говно!
Сегодня после переноса одного сайта на сервер vds словил такую же ошибку. Помог переход версии php на сервере c 5.4 на php 5.5
Это была одна из первых мыслей)
PHP logo
PHP Version 5.6.14
PHP logo
PHP Version 5.6.14
а на реге какой хостинг — шара или вдс? если шара, то пиши в поддержку, чтобы решили проблему, т.к. дело в настройках сервера. а лучше вообще уходи оттуда, там постоянно косяки в работе.
У заказчика такой, я сам таймвебом пользуюсь
Вроде шара, точно не могу сказать
Вроде шара, точно не могу сказать
Попробуйте убрать кирилицу из вызова. Т.е.
&emailSubject=`obratniy zvonok`
&validationErrorMessage=`Error`
&successMessage=`Send`
Я однажды столкнулся с такой же проблемой — но так и не смог найти решения.
Если встречу еще раз такую проблему — попробую)
В итоге на всех хостах норм работало, а на рег.ру нет.
В итоге на всех хостах норм работало, а на рег.ру нет.
Я вот с другой проблемой столкнулся — но ответа нигде нет.
Сыпятся (реально сыпятся — 200 шт за два дня) пустые письма с плейсхолдерами ([[+name]] и т.д.) вместо информации. Все поля обязательные к заполнению, потому даже не могу понять как это происходит
Сыпятся (реально сыпятся — 200 шт за два дня) пустые письма с плейсхолдерами ([[+name]] и т.д.) вместо информации. Все поля обязательные к заполнению, потому даже не могу понять как это происходит
Хук spam используется? Также можно включить checkIp и добавить рекапчу.
Столкнулся с подобной проблемой.
Почта emailTo была на яндексе. Упомянул об этом при запросе в техподдержку хостинга.
Техподдержка хостинга ответила:
«С нашей стороны нет никаких ограничений на отправку писем из скриптов сайта, по данному вопросу обратитесь в яндекс».
Подумал, что ответили, лишь бы ответить. Но заменил в emailTo почту на gmail — и уведомление пришло.
Хостинг — masterhost.
Может, кому пригодится.
Почта emailTo была на яндексе. Упомянул об этом при запросе в техподдержку хостинга.
Техподдержка хостинга ответила:
«С нашей стороны нет никаких ограничений на отправку писем из скриптов сайта, по данному вопросу обратитесь в яндекс».
Подумал, что ответили, лишь бы ответить. Но заменил в emailTo почту на gmail — и уведомление пришло.
Хостинг — masterhost.
Может, кому пригодится.
Помогло при аналогичной проблеме в настройках php поставить
mbstring.func_overload = 0
mbstring.func_overload = 0
Поддерживаю, такое часто бывает когда на хостинге и bitrix и modx находятся. Первый требует mbstring.func_overload = 2
Сегодня удалось победить отправку почты из формы на reg.ru
Во-первых я настроил smtp сервер от Яндекса по мануалу modhost.pro/help/email
Во-вторых надо было настроить DNS. Тех. поддержка reg.ru в этом помогла:
И да, очень помог компонент QuickEmail со сниппетом:
Во-первых я настроил smtp сервер от Яндекса по мануалу modhost.pro/help/email
Во-вторых надо было настроить DNS. Тех. поддержка reg.ru в этом помогла:
В SPF-записи отсутствует ip-адрес хостинга:Ну а в третьих проверить параметр emailTo, является ли введённый адрес реальным.
site.com. 300 IN TXT «v=spf1 redirect=_spf.yandex.net»
Это ошибка связана с политикой DMARC. Вам необходимо добавить ip-адрес сервера хостинга 192.168.255.255 в SPF-запись. Она примет следующий вид:
v=spf1 ip4:192.168.255.255 redirect=_spf.yandex.net
И да, очень помог компонент QuickEmail со сниппетом:
[[!QuickEmail?
&to=`my-mail@mydomain.ru`
&debug=`1`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.