Регистрация по одному email
Добрый день.
Подскажите, как можно реализовать регистрацию по одному почтовому ящику, что бы пользователь ввел только почту и инструкцию получил на эту же почту? Или надо писать хуки?
Подскажите, как можно реализовать регистрацию по одному почтовому ящику, что бы пользователь ввел только почту и инструкцию получил на эту же почту? Или надо писать хуки?
Комментарии: 7
Я знаю, читал. Office отличная вещь, но ради одной регистрации ставить целый пакет не вариант.
Если этот пакет полностью решает задачу, то очень даже вариант. Еще и на будущее появится возможность расширения.
Вот ещё прикольный пакет от Володи есть — http://2geek.pro/components/80-el-easy-login-(modx-revolution)
на событие OnUserRegister пиши что-то типа такого:
if ($modx->event->name === 'OnUserSave' && $mode === 'new') {
// генерим пароль
$pass = $modx->user->generatePassword();
$user->set('password',$pass);
$user->set('active','1');
$user->save();
$profile = $user->getOne('Profile');
$email = $profile->get('email');
$message = $modx->getChunk('название чанка с шаблоном письма', массив данных);
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,$modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME,$modx->getOption('site_name'));
$modx->mail->set(modMail::MAIL_SENDER,$modx->getOption('site_name'));
$modx->mail->set(modMail::MAIL_SUBJECT,'тема письма');
$modx->mail->address('to',$email);
$modx->mail->address('reply-to',$modx->getOption('emailsender'));
$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);
return false;
}
$modx->mail->reset();
}
чтото пытаюсь добавить плагин — а такого события как OnUserRegister в перечне событий нет. Версия ModX 2.5.5
ты прав, мой косяк. событие называется OnUserSave
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.