Sendex - добавить подписчиков без письма подтверждения
Приветствую.
Поставил на сайте Sendex, настроил, можно подписаться и отписаться. Отправляет рассылку по крону. Все отлично, но как добавить подписчиков в базу, без обязательного подтверждения на их почту?
Есть база своих клиентов, там порядка 200 ящиков. Нужно настроить им отправку.
Вроде все облазил, инфы найти не могу. Подскажите пожалуйста.
Поставил на сайте Sendex, настроил, можно подписаться и отписаться. Отправляет рассылку по крону. Все отлично, но как добавить подписчиков в базу, без обязательного подтверждения на их почту?
Есть база своих клиентов, там порядка 200 ящиков. Нужно настроить им отправку.
Вроде все облазил, инфы найти не могу. Подскажите пожалуйста.
Комментарии: 5
Самый простой способ — скопировать сниппет и внести в него изменения:
Со строки 59 идёт проверка
github.com/bezumkin/Sendex/blob/master/core/components/sendex/elements/snippets/snippet.sendex.php#L59
Закоментируйте в этом блоке всё что вам не надо (например отправку email)
И добавьте туда следующий кусок кода
Со строки 59 идёт проверка
github.com/bezumkin/Sendex/blob/master/core/components/sendex/elements/snippets/snippet.sendex.php#L59
Закоментируйте в этом блоке всё что вам не надо (например отправку email)
И добавьте туда следующий кусок кода
$newsletter->Subscribe(0,$email);
Это если через форму подписывать пользователей, а можно напрямую в базу записать через API modx
Код ниже не тестировал, но чисто в теории должно работать
Запускать в компоненте console или modalConsole
Запускать в компоненте console или modalConsole
<?php
$Sendex = $modx->getService('sendex','Sendex',$modx->getOption('sendex_core_path',null,$modx->getOption('core_path').'components/sendex/').'model/sendex/');
if (!($Sendex instanceof Sendex)) return '';
// Указать ID рассылки
$idNewsletter = 1;
$emails = [
'email@mail.ru',
'email1@mail.ru',
'email2@mail.ru',
'email3@mail.ru',
.....
];
foreach ($emails as $email) {
$duble = $modx->getObject('sxSubscriber', array('email' => $email));
if ($duble) { continue; }
$obj = $modx->newObject('sxSubscriber');
$data = array(
'user_id' => 0,
'email' => $email,
'newsletter_id' => $idNewsletter,
);
$obj->fromArray($data);
$obj->save();
}
К сожалению не пошел: joxi.ru/Dr8ZVy5cog6ZL2
точку с запятой пропустил после массива $emails, исправил
Вот это по нашему, вот это по взрослому. Спасибо тебе милый человек!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.