Sendex - добавить подписчиков без письма подтверждения

Приветствую.

Поставил на сайте Sendex, настроил, можно подписаться и отписаться. Отправляет рассылку по крону. Все отлично, но как добавить подписчиков в базу, без обязательного подтверждения на их почту?

Есть база своих клиентов, там порядка 200 ящиков. Нужно настроить им отправку.

Вроде все облазил, инфы найти не могу. Подскажите пожалуйста.
Роман
26 сентября 2019, 21:22
modx.pro
2
816
0

Комментарии: 5

Евгений Webinmd
26 сентября 2019, 22:21
0
Самый простой способ — скопировать сниппет и внести в него изменения:
Со строки 59 идёт проверка
github.com/bezumkin/Sendex/blob/master/core/components/sendex/elements/snippets/snippet.sendex.php#L59

Закоментируйте в этом блоке всё что вам не надо (например отправку email)

И добавьте туда следующий кусок кода
$newsletter->Subscribe(0,$email);
Это если через форму подписывать пользователей, а можно напрямую в базу записать через API modx
    Евгений Webinmd
    26 сентября 2019, 22:27
    +1
    Код ниже не тестировал, но чисто в теории должно работать
    Запускать в компоненте 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(); 
    
    }
      Роман
      26 сентября 2019, 22:32
      0
      К сожалению не пошел: joxi.ru/Dr8ZVy5cog6ZL2
        Евгений Webinmd
        26 сентября 2019, 22:35
        +1
        точку с запятой пропустил после массива $emails, исправил
          Роман
          26 сентября 2019, 22:41
          0
          Вот это по нашему, вот это по взрослому. Спасибо тебе милый человек!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5