Не работает postHooks в Register

Всем доброго дня!
Проблема такая
Сделал регистрацию без активации и автогенерацией пароля--это всё работает.
Так-же надо сделать уведомление этому юзеру с паролем.
Попытался реализовать как на https://docs.modx.com/extras/revo/login/login.tutorials/login.using-pre-and-post-hooks#Login.UsingPreandPostHooks-Examples

И так и эдак перепробовал---не работает. В логе
[2017-05-30 15:42:10] (ERROR @ /home/...../www/core/cache/includes/elements/modsnippet/63.include.cache.php: 13) An error occurred while trying to send the email:
Может кто сталкивался с такой задачей?
Подскажите пожалуйста!
И может есть другой способ реализовать уведомление на email
Спасибо!
Вот код

Вызов Register
[[!Register?
	&generatePassword=`1`
	&validatePassword=`0`
	&activation=`0`
	&postHooks=`hookComEmail`
    &successMsg=`<div class="alert alert-success">Спасибо за регистрацию. На вашу электронную почту <b>[[!+reg.email]]</b> отправлено письмо </div>`
	&submitVar=`register-btn`&placeholderPrefix=`reg.`
  	&usernameField=`email`
    &usergroupsField=`reg_type`
    &customValidators=`valueIn`
    &validate=`username:blank,
        reg_type:valueIn=^explorers^,
        fullname:required:minLength=^6^,
		email:required:email`
    ]]
[[!+error.message:default=`[[!$Register.Form.Exp.Home]]`]]
Сама форма
<form action="[[~[[*id]]]]" method="POST" class="form-horizontal" id="register_form">
<input type="hidden" name="reg_type" id="reg_type1" value="explorers" [[!+reg.reg_type:is=`explorers`:then=`checked`:else=``:default=`checked`]]>
<div id="RegForm" class="">


<label class="loginUsernameLabel" for="name">Представьтесь:

            <input class="loginUsername" type="text" name="fullname" value="[[!+reg.fullname]]">
            [[!+reg.error.fullname:notempty=`<div class="alert alert-danger">[[!+reg.error.fullname]]</div>`]]

</label>


<label class="loginPasswordLabel" for="email">Электронная почта:
       
            <input class="loginPassword" type="text" name="email" value="[[!+reg.email]]">
            [[!+reg.error.email:notempty=`<div class="alert alert-danger">[[!+reg.error.email]]</div>`]]
</label>


<span class="loginLoginButton">
            <input type="submit" name="register-btn" class="register-btn" value="Зарегистрироваться">
</span>

        <div class="col-xs-12">
            <p class="pull-right">Все поля обязательны для заполнения</p>
        </div>

	</div>
</form>
И postHook `hookComEmail`
<?php
$message = 'Hi, a new User signed up: '.$hook->getValue('fullname')
 . ' with email '.$hook->getValue('email').'.';
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'emailsender');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Jerrys Site');
$modx->mail->set(modMail::MAIL_SENDER,'Jerrys Site');
$modx->mail->set(modMail::MAIL_SUBJECT,'New User Signed Up');
$modx->mail->address('to','xndr.xndr@yandex.ru');
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
    $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$err);
}
$modx->mail->reset();
/* tell our snippet we're good and can continue */
return true;
Alexander
30 мая 2017, 13:03
1
387
0

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

Алексей Ерохин
30 мая 2017, 17:22
0
$modx->mail->set(modMail::MAIL_FROM,'emailsender');
Это неверно
$modx->mail->set(modMail::MAIL_FROM,$modx->getOption('emailsender'));
docs.modx.com/revolution/2.x/developing-in-modx/advanced-development/modx-services/modmail
Владимир Новопашин
30 мая 2017, 17:24
0
1) Вывод ошибки должен быть таким образом:
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
Т.к. выводить вам нужно не ошибку плагина, а ошибку именно сервиса отправки почты

2) После этого можно прочитать что MAIL_SENDER указан неверно — должен быть адрес почты.
$modx->mail->set(modMail::MAIL_SENDER, $modx->config['emailsender']);
3) Чтобы получить адрес отправителя из системных настроек нужно писать:
$modx->config['emailsender']
а никак не просто 'emailsender'
    Alexander
    30 мая 2017, 17:40
    0
    Спасибо! Всё заработало!
    <?php
    $message = 'Hi, a new User signed up: '.$hook->getValue('fullname')
     . ' with email '.$hook->getValue('email').'.';
    $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,'Jerrys Site');
    $modx->mail->set(modMail::MAIL_SENDER,$modx->config['emailsender']);
    $modx->mail->set(modMail::MAIL_SUBJECT,'New User Signed Up');
    $modx->mail->address('to','xndr.xndr@yandex.ru');
    $modx->mail->setHTML(true);
    if (!$modx->mail->send()) {
        $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$err);
    }
    $modx->mail->reset();
    /* tell our snippet we're good and can continue */
    return true;