Перейти к содержимому


Автоматическая отправка писем клиентам


Сообщений в теме: 21

#1 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 04 Сентябрь 2014 - 16:59

Добрый день! Есть задачка - при появлении новой записи в таблице, которая соответствует определенному условию (например, Значение поля = определенному тексту) автоматически по списку рассылки (список задается в отдельном поле - это емайлы через запятую) улетают письма определенного шаблона (Значение поля новой записи =1, отправляется шаблон 1, значение поля новой записи = 2, отправляется шаблон 2 и т.д.)
Насколько я понимаю, для отправки клиентам существует инструмент Шаблоны писем и смс, но там нет автоматической рассылки по условию.
как докрутить систему, что бы реализовать задачку?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Сентябрь 2014 - 17:41

Почему это там "нет автоматической рассылки по условию"? Плохо смотрели, она есть прямо в настройках шаблона, в самом низу.

И в документации об этом целая статья.

#3 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 05 Сентябрь 2014 - 14:47

Просмотр сообщенияCbCoder (04 Сентябрь 2014 - 17:41) писал:

Почему это там "нет автоматической рассылки по условию"? Плохо смотрели, она есть прямо в настройках шаблона, в самом низу.

И в документации об этом целая статья.

Это поле : "Выполнять рассылку периодически по фильтру"?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Сентябрь 2014 - 14:56

Разумеется. Выбираете фильтр и задаете периодичность отправки писем, соответствующих условию, например раз в сутки, или вообще раз в минуту (т.е. практически сразу как появятся нужные записи). Если письма должны отправляться только раз, то в условиях фильтра должно быть условие на пустое поле лога рассылки (и в настройках шаблона это поле должно быть указано в качестве лога, разумеется)

#5 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 05 Сентябрь 2014 - 15:27

Просмотр сообщенияCbCoder (05 Сентябрь 2014 - 14:56) писал:

Разумеется. Выбираете фильтр и задаете периодичность отправки писем, соответствующих условию, например раз в сутки, или вообще раз в минуту (т.е. практически сразу как появятся нужные записи). Если письма должны отправляться только раз, то в условиях фильтра должно быть условие на пустое поле лога рассылки (и в настройках шаблона это поле должно быть указано в качестве лога, разумеется)
Спасибо, попробую!

#6 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 05 Сентябрь 2014 - 15:46

Работает, спасибо! А можно настроить, что бы не видно было других адресов, кому еще это письмо было направлено?

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Сентябрь 2014 - 16:13

Где не видно, не понял?

#8 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 09:05

Сейчас при получении письма от КБ виден весь список, кому это письмо так же было направлено. Возможно сделать так, что бы получивший письмо не видел других адресатов?

#9 MorTis

    Активный участник

  • Пользователи
  • PipPipPip
  • 65 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 09:20

У вас адреса все в одном поле чтоли? Потому как у меня нормально рассылается. И только там где у пользователя указано несколько email такое происходит

#10 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 09:52

Да, емайл у нас в одном поле и перечислен через запятую.

#11 MorTis

    Активный участник

  • Пользователи
  • PipPipPip
  • 65 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 11:34

Ну тогда он посути отправляет 1 письмо по многим адресатам. Надо чтобы у вас был 1 емеил в одной строке :) тоесть например не 1 строка с 10 емейлами. а 10 строк с 1 емейлом. Тогда будет создано 10 писем с 1 адресатом.

#12 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 11:37

Просмотр сообщенияMorTis (08 Сентябрь 2014 - 11:34) писал:

Ну тогда он посути отправляет 1 письмо по многим адресатам. Надо чтобы у вас был 1 емеил в одной строке :) тоесть например не 1 строка с 10 емейлами. а 10 строк с 1 емейлом. Тогда будет создано 10 писем с 1 адресатом.
Я уже понял, спасибо! Просто я думал вдруг если поставить не запятую, а точку с запятой он будет отправлять не одно письмо, а каждому адресату ;)

#13 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 12:24

Коллеги, есть еще вопрос, я поля с мылом сделал разными, настроил для каждого поля свой шаблон, а вот расписание крона тоже надо под каждый шаблон свое или можно одно?

Сообщение отредактировал Alex TetraSoft: 08 Сентябрь 2014 - 12:27


#14 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Сентябрь 2014 - 12:42

Можно и одно задание самому создать, где объединить несколько вызовов функции рассылки шаблонов. Только смысл в этом? С отдельными расписаниями удобнее управлять из настроек самого шаблона.

#15 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 13:28

Не работает, где может быт ошибка? Создал 4-е шаблона, они отличаются только полем "Адрес получателя". Фильтр тоже один, соответственно и задание крона тоже одно на все шаблоны получается. В результате письма уходят только первого шаблона, по остальным крон не отрабатывает :(

Сообщение отредактировал Alex TetraSoft: 08 Сентябрь 2014 - 13:55


#16 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Сентябрь 2014 - 14:29

Цитата

Фильтр тоже один, соответственно и задание крона тоже одно на все шаблоны получается

С чего вы это взяли? Фильтр никак с заданиями cron не связан, код задания привязан к номеру шаблона, а не фильтра. Я говорил о том что при желании можно создать свое задание вручную, где самостоятельно объединить код по всем 4-м шаблонам (т.е. прописать там 4 вызова функции друг за другом). Если же вы задаете расписание автоматом в настройках шаблона, то у вас должны быть 4 отдельных задания крон. Если вы просто выбрали такой же фильтр, но не задали задание с расписанием, то никакой авторассылки по данному шаблону не будет.

#17 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 14:39

" где самостоятельно объединить код по всем 4-м шаблонам." Это как?

Сообщение отредактировал Alex TetraSoft: 08 Сентябрь 2014 - 14:42


#18 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Сентябрь 2014 - 14:56

  • Создаете автоматически 4 задания cron по каждому шаблону, через настройки шаблона
  • Переходите в список всех заданий cron (Настройки - Дополнительно - Настройки cron)
  • Создаете новое задание cron вручную
  • Копируете код функций всех 4-х заданий в это новое задание. Сохраняете, старые задания удаляете.
Альтернативно, можно не создавать автоматом задания для копирования кода, а сразу создать свое задание и прописать там нужный код вручную. Формат: send_template(id шаблона) для каждого шаблона. Но фильтр в настройках шаблонов задать все равно потребуется.

#19 Alex TetraSoft

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина

Отправлено 08 Сентябрь 2014 - 15:02

Просмотр сообщенияCbCoder (08 Сентябрь 2014 - 14:56) писал:

  • Создаете автоматически 4 задания cron по каждому шаблону, через настройки шаблона
  • Переходите в список всех заданий cron (Настройки - Дополнительно - Настройки cron)
  • Создаете новое задание cron вручную
  • Копируете код функций всех 4-х заданий в это новое задание. Сохраняете, старые задания удаляете.
Альтернативно, можно не создавать автоматом задания для копирования кода, а сразу создать свое задание и прописать там нужный код вручную. Формат: send_template(id шаблона) для каждого шаблона. Но фильтр в настройках шаблонов задать все равно потребуется.
Спасибо большое!
Задание будет так выглядеть "send_template(250); echo 'Done';send_template(260);echo 'Done'; send_template(270);echo 'Done'; send_template(280);echo 'Done';"?

#20 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Сентябрь 2014 - 15:10

echo 'Done'; каждый раз не нужно, хватит одного в конце, да и опционально оно, для вывода информации в лог, можно и без него обойтись. Я писал что объединить нужно только вызовы функции рассылки шаблонов.





Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных