Помогите найти рабочий варианты формы Formit или Ajax. Или любой другой формы для landing page
        Добрый день!
Верстаю сайт сама.
После долгих творческих исканий остановилась на cms Modx Revolution, и хостинге modhost.pro.
Почти все освоила, только уже 5 дней бьюсь с формой отправки сообщений через сайт.
Когда я настроила почту на яндексе для своего домена, она перестала работать.
Точнее, можно отправить на эту почту сообщения откуда угодно, но не из формы.
И кстати, из формы, она отправляла сообщения сама на себя, а на другие email — ни в какую.
Чувствую, я перемудрила с кодом, но уже не знаю, как это сделать, всю голову сломала.
Первый раз была успешная отправка, но тогда сообщения отправлялись от каждого чиха. Я начала искать решения — добавляла капчу, в добавок нашла красивый дизайн формы и обработала его под себя.
Потом зарегистрировала свой домен почты на яндексе (olga@lingvo-lang.com).
Всё! После этого форму как заколдовали. Не с ajax, не с formit, она не стала работать.
Чувствую, что форме не нравится доменное имя, либо emailsender ориентируется на самую первую почту, указанную при регистрации (хотя я везде ее сменила, где могла).
Как быть?
Помогите, пожалуйста!
    
    
                                                                                
            Верстаю сайт сама.
После долгих творческих исканий остановилась на cms Modx Revolution, и хостинге modhost.pro.
Почти все освоила, только уже 5 дней бьюсь с формой отправки сообщений через сайт.
Когда я настроила почту на яндексе для своего домена, она перестала работать.
Точнее, можно отправить на эту почту сообщения откуда угодно, но не из формы.
И кстати, из формы, она отправляла сообщения сама на себя, а на другие email — ни в какую.
Чувствую, я перемудрила с кодом, но уже не знаю, как это сделать, всю голову сломала.
Первый раз была успешная отправка, но тогда сообщения отправлялись от каждого чиха. Я начала искать решения — добавляла капчу, в добавок нашла красивый дизайн формы и обработала его под себя.
Потом зарегистрировала свой домен почты на яндексе (olga@lingvo-lang.com).
Всё! После этого форму как заколдовали. Не с ajax, не с formit, она не стала работать.
Чувствую, что форме не нравится доменное имя, либо emailsender ориентируется на самую первую почту, указанную при регистрации (хотя я везде ее сменила, где могла).
Как быть?
Помогите, пожалуйста!
Комментарии: 18
                Можно ссылку на сайт?
Когда вы отправляете сообщение, что пишет?
Что в логах? (Управление — отчеты — журнал ошибок)
                    Когда вы отправляете сообщение, что пишет?
Что в логах? (Управление — отчеты — журнал ошибок)
                для некоторых моментов необходимо указывать emailFrom с почтой на текущем домене, что-то типа robot@domain.ru            
                    
                Пример рабочей формы с лендинга. Так же иногда требуется указать emailFrom почтой совпадающей с доменом.
                    {'!AjaxForm' | snippet : [
  'form' => '@INLINE
    <form class="form" method="post" action="">
      <input type="hidden" name="nospam">
      <div class="form-group">
        <div class="form-item">
          <label class="form-label" for="">Имя</label>
          <input class="form-field" type="text" name="name" value="{$_pls["fi.name"]}">
          <div class="error_name">{$_pls["fi.error.name"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <label class="form-label" for="">Компания</label>
          <input class="form-field" type="text" name="company" value="{$_pls["fi.company"]}">
          <div class="error_company">{$_pls["fi.error.company"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <label class="form-label" for="">E-mail</label>
          <input class="form-field" type="email" name="email" value="{$_pls["fi.email"]}">
          <div class="error_email">{$_pls["fi.error.email"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <label class="form-label" for="">Телефон</label>
          <input class="form-field" type="tel" name="phone" value="{$_pls["fi.phone"]}">
          <div class="error_phone">{$_pls["fi.error.phone"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <label class="form-label" for="">Сообщение</label>
          <textarea class="form-field" name="message" rows="5">{$_pls["fi.message"]}</textarea>
          <div class="error_message">{$_pls["fi.error.message"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <input type="hidden" name="privacy[]" value="">
          <div class="checkbox">
            <input type="checkbox" name="privacy[]" id="privacy" value="agree">
            <label for="privacy">Отправляя заявку, я соглашаюсь на обработку персональных данных.</label>
          </div>
          <div class="error_privacy">{$_pls["fi.error.privacy"]}</div>
        </div>
      </div>
      <div class="form-group">
        <div class="form-item">
          <button class="button" type="submit">Отправить</button>
        </div>
      </div>
    </form>
  ',
  'emailTpl' => '@INLINE
    <h2>Сообщение с сайта {$_modx->config.site_name}</h2>
    <p><b>Имя:</b> {$name}</p>
    <p><b>Компания:</b> {$company}</p>
    <p><b>E-mail:</b> {$email}</p>
    <p><b>Телефон:</b> {$phone}</p>
    <p><b>Сообщение:</b> {$message}</p>
  ',
  'hooks' => 'email, FormItSaveForm',
  'emailSubject' => 'Сообщение с сайта '~$_modx->config.site_name,
  'emailTo' => $_modx->config.emailsender,
  'emailFrom' => $_modx->config.emailsender,
  'emailFromName' => $_modx->config.site_name,
  'formName' => 'Узнать подробнее',
  'formFields' => 'name,company,email,phone,message',
  'fieldNames' => 'name==Имя,company==Компания,email==E-mail,phone==Телефон,message==Сообщение',
  'validate' => 'nospam:blank, name:minLength=^3^:required, company:required, email:email:required, phone:required, message:minLength=^20^:required, privacy:required'
]}            
                Вот кое-как приляпала форму lingvo-lang.com/contact.html
Редиректа нет, сообщений тоже нет. :(
                    Редиректа нет, сообщений тоже нет. :(
                Похоже, что мой домен к яндексу не приклеивается.
Посмотрите пожалуйста, настройки верны?
SMTP аутентификация
mail_smtp_auth
Да
SMTP Helo сообщение
mail_smtp_helo
EHLO
SMTP хосты
mail_smtp_hosts
tls://smtp.yandex.ru
SMTP удержание соединения
mail_smtp_keepalive
Да
SMTP номер порта
mail_smtp_port
587
SMTP префикс для соединений
mail_smtp_prefix
tls
SMTP посылать по одному
mail_smtp_single_to
Да
SMTP время ожидания
mail_smtp_timeout
60
SMTP пользователь
mail_smtp_user
olga@lingvo-lang.com
Использовать SMTP
mail_use_smtp
Да
                    Посмотрите пожалуйста, настройки верны?
SMTP аутентификация
mail_smtp_auth
Да
SMTP Helo сообщение
mail_smtp_helo
EHLO
SMTP хосты
mail_smtp_hosts
tls://smtp.yandex.ru
SMTP удержание соединения
mail_smtp_keepalive
Да
SMTP номер порта
mail_smtp_port
587
SMTP префикс для соединений
mail_smtp_prefix
tls
SMTP посылать по одному
mail_smtp_single_to
Да
SMTP время ожидания
mail_smtp_timeout
60
SMTP пользователь
mail_smtp_user
olga@lingvo-lang.com
Использовать SMTP
mail_use_smtp
Да
                По-прежнему не работает :(
Поднимаю темку.
Кто-нибудь, пожалуйста.
                    Поднимаю темку.
Кто-нибудь, пожалуйста.
                Пробовали отправлять письма не через SMTP? Вообще отправка писем с сайта работает? Это можно проверить через компонент QuickEmail.
И напишите наконец код, как вы вызываете форму :)
                    И напишите наконец код, как вы вызываете форму :)
                На хостинге мне сказали, что все работает.
Кстати да, работала отправка, только через форму не идет.
Но я еще раз проверю немного попозже.
Вот код:
                    Кстати да, работала отправка, только через форму не идет.
Но я еще раз проверю немного попозже.
Вот код:
[[!FormIt?
    &hooks=`spam,email,emailUser,redirect`
    &emailTo=`olga@lingvo-lang.com`
    &emailSubject=`[[+subject]]`
    &emailFromName=`[[+name]]`
    &emailTpl=`ContactTpl`
&validate=`name:required,email:required,message:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
    &redirectTo=`14`
]]
<style>
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,100,500);
body,
html {
  margin: 0;
  height: 100%;
}
input {
  border: none;
}
button:focus {
  outline: none;
}
::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.65);
}
::-webkit-input-placeholder .input-line:focus +::input-placeholder {
  color: #fff;
}
.highlight {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
  cursor: pointer;
  transition: color .2s ease;
}
.highlight:hover {
  color: #fff;
  transition: color .2s ease;
}
.spacing {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 120px;
  font-weight: 300;
  text-align: center;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.65)
}
.input-line:focus {
  outline: none;
  border-color: #fff;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.ghost-round {
  cursor: pointer;
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 25px;
  color: rgba(255, 255, 255, 0.65);
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-size: 19px;
  font-size: 1.2rem;
  font-family: roboto;
  font-weight: 300;
  line-height: 2.5em;
  margin-top: auto;
  margin-bottom: 25px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.ghost-round:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.input-line {
  background: none;
  margin-bottom: 10px;
  line-height: 2.4em;
  color: #fff;
  font-family: roboto;
  font-weight: 300;
  letter-spacing: 0px;
  letter-spacing: 0.02rem;
  font-size: 19px;
  font-size: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.65);
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
.full-width {
  width: 100%;
}
.input-fields {
  margin-top: 25px;
}
.container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #eee;
  height: 100%;
}
.content {
  padding-left: 25px;
  padding-right: 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  z-index: 5;
}
.welcome {
  font-weight: 200;
  margin-top: 75px;
  text-align: center;
  font-size: 40px;
  font-size: 2.5rem;
  letter-spacing: 0px;
  letter-spacing: 0.05rem;
}
.subtitle {
  text-align: center;
  line-height: 1em;
  font-weight: 100;
  letter-spacing: 0px;
  letter-spacing: 0.02rem;
}
.menu {
  background: rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 50px;
}
.window {
  z-index: 100;
  color: #fff;
  font-family: roboto;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  box-shadow: 0px 15px 50px 10px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  height: 560px;
  width: 360px;
  background: #fff;
  background: url('https://pexels.imgix.net/photos/27718/pexels-photo-27718.jpg?fit=crop&w=1280&h=823') top left no-repeat;
}
.overlay {
  background: -webkit-linear-gradient(#8CA6DB, #B993D6);
  background: linear-gradient(#8CA6DB, #B993D6);
  opacity: 0.85;
  filter: alpha(opacity=85);
  height: 560px;
  position: absolute;
  width: 360px;
  z-index: 1;
}
.bold-line {
  background: #e7e7e7;
  position: absolute;
  top: 0px;
  bottom: 0px;
  margin: auto;
  width: 100%;
  height: 360px;
  z-index: 1;
  opacity:0.1;
    background: url('https://pexels.imgix.net/photos/27718/pexels-photo-27718.jpg?fit=crop&w=1280&h=823') left no-repeat;
  background-size:cover;
}
@media (max-width: 500px) {
  .window {
    width: 100%;
    height: 100%;
  }
  .overlay {
    width: 100%;
    height: 100%;
  }
}
</style>
<div class='bold-line'></div>
<div class='container'>
  <div class='window'>
    <div class='overlay'></div>
    <div class='content'>
      <div class='welcome'>Добрый день!</div>
      <div class='subtitle'>Эта дружелюбная форма отправки сообщений поможет Вам связаться с нами</div>
      <form action="" method="post">
<div class='input-fields'>
  <input type="hidden" name="nospam:blank" value=""/></input>
        <input type='text' placeholder='Имя' class='input-line full-width'></input>
        <input type='email' placeholder='Email' class='input-line full-width'></input>
        <input type='phone' placeholder='Телефон' class='input-line full-width'></input>
<input type='message' placeholder='Сообщение' class='input-line full-width'></input>
</div>      <div><button class='ghost-round full-width' input type="submit" name="Submit">Отправить</button></div>
      </div>
  </div>
</div>            
                Нажимайте пожалуйста на кнопку Ответить под сообщением, тогда человек оставивший комментарий получит уведомление.
Приведите вызов к такому виду:
Откуда взялся хук — emailUser? Такого вроде как нет, если вам нужно отправлять уведомление и пользователю, для этого есть свои параметры FormIt-а.
Форму к такому:
Во первых у вас тег form не закрыт, к input полям нужно добавлять атрибут name='имяполя', в атрибутах button вообще что то дикое намешано).
В чанке ContactTpl соответственно плейсхолдеры по значениям атрибутов name — [[+name]],[[+email]] и т.п.
Отключите отправку через smtp, и проверьте с приведённым выше кодом. Да, и стили тоже уберите куда нибудь в другое место.
            
                    Приведите вызов к такому виду:
[[!FormIt?
    &hooks=`spam,email,redirect`
    &emailFrom=`no-reply@lingvo-lang.com`
    &emailTo=`olga@lingvo-lang.com`
    &emailSubject=`Письмо с сайта [[++site_name]]`
    &emailTpl=`ContactTpl`
    &validate=`name:required,email:required,message:required,nospam:blank`
    &validationErrorMessage=`В форме содержатся ошибки!`
    &successMessage=`Сообщение успешно отправлено`
    &redirectTo=`14`
]]Откуда взялся хук — emailUser? Такого вроде как нет, если вам нужно отправлять уведомление и пользователю, для этого есть свои параметры FormIt-а.
Форму к такому:
<form action="[[~[[*id]]]]" method="post">
<div class='input-fields'>
        <input type="hidden" name="nospam" value="" /></input>
        <input type='text' name="name" placeholder='Имя' class='input-line full-width'></input>
        <input type='email' name="email" placeholder='Email' class='input-line full-width'></input>
        <input type='phone' name="phone" placeholder='Телефон' class='input-line full-width'></input>
         <input type='message' name="message" placeholder='Сообщение' class='input-line full-width'></input>
</div>
<div><button class='ghost-round full-width' type="submit">Отправить</button></div>
</form>Во первых у вас тег form не закрыт, к input полям нужно добавлять атрибут name='имяполя', в атрибутах button вообще что то дикое намешано).
В чанке ContactTpl соответственно плейсхолдеры по значениям атрибутов name — [[+name]],[[+email]] и т.п.
Отключите отправку через smtp, и проверьте с приведённым выше кодом. Да, и стили тоже уберите куда нибудь в другое место.
                Всё сделала. Подскажите, как отправку через smtp отключить?            
                    
                В системных настройках которые вы приводили выше — Использовать SMTP — mail_use_smtp поставить в Нет.            
                    
                Я дизайн этой формы брала здесь: codepen.io/Tbgse/pen/JXrJGX
(редирект отсюда freefrontend.com/css-forms/)
Она изначально предназначена для регистрации, а я ее пыталась допилить для отправки сообщений.
Может быть, из-за этого не идет?
                    (редирект отсюда freefrontend.com/css-forms/)
Она изначально предназначена для регистрации, а я ее пыталась допилить для отправки сообщений.
Может быть, из-за этого не идет?
(редирект отсюда freefrontend.com/css-forms/)
Не совсем понял про редирект, параметр — &redirectTo=`14` отправляет на указанную страницу. Т.е. у вас должен быть ресурс с id = 14 и он должен быть опубликован.
Она изначально предназначена для регистрации, а я ее пыталась допилить для отправки сообщений.
Пробуйте код который я написал, с ним должно работать. Если не заработает, то присылайте доступы в личку, попробую вам помочь.
                заработало!!!
СПАСИБО ОГРОМНОЕ!
Вы — гений.
                    СПАСИБО ОГРОМНОЕ!
Вы — гений.
                Кстати, у меня новая проблема появилась — разрешает на один email только один раз отправить комментарий.
Допустим, я хотела бы 2 раза отправить письмо через форму с одного адреса--- нет, он уже блокирует.
Видимо, потому что форма изначально для регистрациии была (дизайн).
Как бы ее до конца допилить? Попробовать, чтоли, 'ghost-round full-width' из кнопки убрать.
                    Допустим, я хотела бы 2 раза отправить письмо через форму с одного адреса--- нет, он уже блокирует.
Видимо, потому что форма изначально для регистрациии была (дизайн).
Как бы ее до конца допилить? Попробовать, чтоли, 'ghost-round full-width' из кнопки убрать.
                Решено)))
Она просто определяла тот email как мой.
А может, просто mail.ru игнорирует
                    Она просто определяла тот email как мой.
А может, просто mail.ru игнорирует
                точно, игнорирует mail.ru :(            
                    
                Решено! В поле emailFrom — нужно ставить email домена            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.