Рассылка писем на e-mail раз в 30 дней

1 октября 2019 в 17:33
Аватар пользователя Happy Smile Happy Smile 0 16 Решено

Такая задача:
Пользователь зарегистрировался на сайте и через тридцать дней после регистрации пользователю должно прийти письмо на e-mail с шаблонным текстом. Такое возможно сделать стандартными модулями или нужно писать свой?

Комментарии

Правилами можно, там есть смещение по дням для проверки даты. Сорри, нет под рукой на чем проверить точный флоу.

1 октября 2019 в 18:03

Зависит от тонкостей задачи. Rules умеет читать даты со смещением и отправлять письма из коробки. Если нужно что более специфичное, реализуемое дополнительными модулями - без них никак, если нет - ответ очевиден.

1 октября 2019 в 19:37

Главное, проверку не забудьте, чтоб кучу писем не отправлялась всем кто старше 30ти дней. Обеспечьте некий фактор, определяющий что письмо пользователю уже было отправлено.

1 октября 2019 в 20:04

Можно планировать действия, в т.ч. планировать выполнение компонентов во время их выполнения. Соответственно, можно запланировать выполнение компонента при создании юзера, и в качестве одного из действий этого компонента - планировать выполнение его же.

1 октября 2019 в 20:37

Создала новое правило и никак не срабатывает ((

{ "rules_10_dniv" : {
    "LABEL" : "10 dniv",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "TAGS" : [ "10 \u0434\u043d\u0456\u0432" ],
    "REQUIRES" : [ "rules", "rules_i18n" ],
    "ON" : { "user_insert" : [] },
    "IF" : [
      { "data_is" : {
          "data" : [ "account:created" ],
          "op" : "\u003E",
          "value" : { "select" : "account:created", "date_offset" : { "value" : 7200 } }
        }
      }
    ],
    "DO" : [
      { "mail" : {
          "to" : "[account:mail]",
          "subject" : "Super",
          "message" : "Super puper",
          "language" : [ "site:current-page:language" ]
        }
      }
    ]
  }
}
12 октября 2019 в 20:39