Вед-дев, Сео, Манимейкинг

Автоматическая отправка письма при помощи модуля Webform

Недавно возникла необходимость в обратной отправке письма при помощи модуля webform (drupal.org/project/webform), т.е. задача моя была следующей - на сайте имеется блок с формой (созданной при помощи модуля Webform) и полями Имя, Фамилия, e-mail. Значения данных полей нужно было отображать в теле письма, т.е. они должны автоматически вставляться в письмо, а также адрес получателя письма должен был дергаться из поля e-mail. А в теле письма присутствуют изображения. В общем, функцоналом одного модуля webform тут не обошлось.

Данная проблема решается несколькими модулями, а если быть точнее: Webform, Webform Rules (drupal.org/project/webform_rules), Rules (drupal.org/project/rules), Mime Mail (drupal.org/project/mimemail).

А теперь - пошаговая инструкция, как это все сделать рабочим :)

  • Устанавливаем все вышеперечисленные модули - включаем их.
  • Создаем веб-форму, а затем создаем в ней 3 поля: Имя, Фамилия, e-mail.
  • Заходим сюда admin/rules/trigger, а затем жмем - Add a new rule.
  • В поле Title пишем название вашего Rule, Event: After a webform has been submitted. -> Save
  • ON event After a webform has been submitted IF - выбираем значение Check a truth value (ставим 1).
  • DO - send a mail to an arbitary mail adress, далее в поле Получатель (Recipient) вставляем token нашего поля с e-mail (Его можно посмотреть в свойствах веб-формы, машинное имя поля - это то, что нам нужно), в моем случае это - [data:e_mail-value].
  • Заголовок и сообщение заполняем по своим потребностям. -> Save

Вот и все, теперь при сабмите вашей веб-формы, вы будете получать письмо на указанный вами e-mail ящик.

А теперь немного визуального сопровождения:

Автоматическая отправка письма при помощи модуля Webform

Выбираем условие: Если это истина == 1

Автоматическая отправка письма при помощи модуля Webform

Тут мы вставляем TOKEN для того чтобы e-mail дергался из созданного нами поля в веб-форме - e-mail

Автоматическая отправка письма при помощи модуля Webform



Комментарии (18)

Задам вопрос, как можно реализовать не картинку, чтобы отображалась в теле письма, а например вложение, файлы типа pdf, doc и т.п.?

В вебформе создаете тип поля файл и там делаете разрешенные форматы, pdf, doc и прочее, а затем через токен выводите значение вашего поля с файлом.

Уважаемый админ! При данном методе если не заполнять поле e-mail в форме webform выходит ошибка: "Не удается отправить почту. Пожалуйста, свяжитесь с администратором сайта, если эта проблема сохраняется." Скажите, пожалуйста, можно ли сделать так, чтобы при незаполнении поля e-mail это сообщение не выходило?

Попробуйте в настройках вашей веб-формы убрать галочку с поля email обязательно*

В том то и дело, что это поле необязательное. А такое сообщение выходит видимо из-за того, что модуль rules не может отправлять на пустой адрес. Можно ли это исправить? Сделать так, чтобы если емайл не заполнен rules не отправлял письмо?

В rules есть conditions (условия), попробуйте там сделать проверку по полю email, но я не уверен, что там есть возможность проверки - заполнен ли email или нет.

Сейчас заметил ,что такая ошибка(Не удается отправить почту. Пожалуйста, свяжитесь с администратором сайта, если эта проблема сохраняется.) выдается и на другой вебформе в которой всего одно поле e-mail и оно всегда заполняется и к ней не привязан модуль rules.

А так как сообщения отправляются и все ок. Суть только в том где пофиксить эту ошибку. Это надо копать в модуле webform?

Странно, я вроде не сталкивался с такой ошибкой. А в admin/reports/dblog что написано?

Что нужно смотреть в в admin/reports/dblog? Там Page Title List и Отчет о сотоянии.

Там нет никаких записей, связанных с вашей ошибкой? А почта у вас нормально отправляется от сервера? Шаред хостинг?

Записей нет. Почта отправляется нормально. Шаред хостинг - да.
И сообщения же все доходят на указанный в вэбформе емайл.

Если webform_rules отключаю, то сообщение исчезает.
Не могу найти где это сообщение об ошибке лежит, чтобы закоментить его.

А вы пробовали dev версию модуля webform_rules и какая версия у вас стоит в данный момент?

Для шестерки на друпал.орг только одна версия была ее и установил - 6.x-1.7

У меня есть древняя dev версия webform_rules, с которой у меня все работало) Скинуть? Почту напишите

Потестим. _killaand1@mail.ru (без нижнего подчеркивания)

Отправил

Подскажите пожалуйста а как на Drupal 7 организовать отправку письма на введенный mail?

Подписаться

Подписка на RSS-лента последние записи из Блога

Комменты

  • Olzhas 7 месяцев 3 недели назад
    Спасибо. С Новым Годом! 
  • Den 8 месяцев 3 недели назад
    В первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. 
  • Гость 8 месяцев 3 недели назад
    Если все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того 
  • Валерий 9 месяцев 3 недели назад
    да можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер 
  • admin 9 месяцев 3 недели назад
    Валерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт 
  • Валерий 9 месяцев 3 недели назад
    захожу на mysql через ssh по команде  
  • admin 9 месяцев 3 недели назад
    Добрый вечер, какой у вас клиент? 
  • Валерий 9 месяцев 3 недели назад
    Здравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? 
  • Eduard 10 месяцев 1 неделя назад
    Видать, домен хороший был. Заявление пробывали писать на мошенника? 
  • Stas 11 месяцев 3 недели назад
    Ошибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям!