We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37450
    • 11 Posts
    Люди вот скажите плиз, как Вы это реализовывали?
    делаю как правильный: вызов снипета, за ней форма.

    [[!FormIt? &hooks=`email` &emailSubject=`Message` &emailTo=`[email protected]` ]] 
    [[!+fi.error_message]]</p>
    <div id="respond">
    <form action="[[~[[*id]]]]" method="post">
    <div><label for="name1">Ваше имя[[!+fi.error.name1]]</label>
     <input id="name1" type="text" name="name1" value="[[!+fi.name1]]" size="40" maxlength="60" /></div>
    <div><label for="email">Электронный ящик[[!+fi.error.email]]</label>
     <input id="email" type="text" name="email" value="[[!+fi.email]]" size="40" maxlength="40" /></div>
    <div><label for="otdel">Тема сообщения</label> <select id="otdel" name="otdel"><option value="1">Вопрос генеральному директору</option><option value="2">Бухгалтерии</option><option value="3">Отзывы и пожелания</option></select></div>
    <label for="comments">Текст сообщения</label>[[!+fi.error.comments]]<br /> <textarea id="comments" name="comments" rows="10" cols="60"></textarea> 
    <input type="submit" value="Отправить" /></form></div>

    т.е. тут то ошибок нет, всё считай скопировано с инета.

    При отправке пишет, что не могу отправить.
    Пробовал настроить SMTP в самом MODX? всё равно не отправляет, пишет что не могу соединиться с smtp ссервером ( хотя все параметры введены правильно)

    Как у вас всё это заработало? вроде никаких подводных камней нет, а у меня не хочет!
    • Логи что говорят? Какие ошибки Вам пишет?
        Valentin Rasulov - Industrial design (Hobbies - Web Development)
        Development not standard projects on CMF MODx Revolution.
        Small sample of extensions
        • 37450
        • 11 Posts
        Решение проблемы найдено.

        На счёт логов не знаю, сообщения об ошибках выводятся при помощи !+fi.error_message.
        Произошла ошибка при попытке отправить почту. Could not instantiate mail function.
        вторая часть сообщения не по русски говорт о том, что ошибка возникает не в модуле FORMIT,а в классе PHPmail, которым этот модуль и пользуется.
        ИТАК отписываюсь.
        файл /core/model/modx/mail/phpmailer/class.phpmailer.php, в нём есть переменная задающая способ отправки сообщения (mail, sendmail, smtp).

        * Method to send mail: ("mail", "sendmail", or "smtp").
           * @var string
           */
          public $Mailer            = '';

        По умолчанию используется метод 'mail' и имено он то и выдавал ошибку , причина этого находится на хостинге, ибо больше негде.
        В случае метода SMTP, надо указать его параметры,
        Метод "Sendmail" тоже работает без проблем, если указан путь к скрипту на хостинге, но у меня путь уже был проставлен (видимо он стандартный)

        /**
           * Sets the path of the sendmail program.
           * @var string
           */
          public $Sendmail          = '/usr/sbin/sendmail';


        Странно, но почему то изменить метод при вызове сниппета нельзя, нужно править файл ядра modx. МИНУС разработчику formIT.


        [ed. note: milly1975 last edited this post 12 years, 4 months ago.]