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

Есть ли в Office возможность отправить письмо админу, если регистрируется новый пользователь?
alexandr.skyrda
14 октября 2022, 17:52
modx.pro
1
524
0

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

Павел Романов
15 октября 2022, 09:40
+1
Создайте плагин на событие OnUserActivate, и в нем отправляйте письмо.
    Евгений
    08 декабря 2023, 16:59
    0
    Был точно такой же вопрос, добрые люди помогли, делюсь кодом плагина (верно выше написали, отмечаем в плагине галкой системное событие OnUserActivate)
    <?php
    switch ($modx->event->name) {
    	case 'OnUserActivate':
            /* Включаем сервис почты */
            $modx->getService('mail', 'mail.modPHPMailer');
            $modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
            $modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
            
            $profile = $user->getOne('Profile');
            $userId = $profile->get('internalKey');
            $userEmail = $profile->get('email');
            $userName = $profile->get('fullname');
            
            $modx->mail->address('to', 'your@address.ru');
            $modx->mail->set(modMail::MAIL_SUBJECT, 'Активирован новый пользователь на сайте');
            $modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('user_active.tpl',array('id'=>$userId, 'email' => $userEmail, 'name' => $userName)));
    
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR, 'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
    
    		break;
    }
    надо еще чанк создать user_active.tpl
    <h3>Пользователь активировал свой профиль</h3>
    <p>id: [[+id]]</p>
    <p>Имя: [[+name]]</p>
    <p>Email: [[+email]]</p>
    <p>Перейти к <a href="[[++site_url]]manager/?a=security/user/update&id=[[+id]]"> редактированию</a></p>
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2