Z tego co widzę w tym kodzie to nie masz nic od wysyłania tego e-maila, więc siłą rzeczy nic się nie wysyła.
Za to odpowiada kod z system/Member/Member.php:
/**
* Call after completed registration to send email for validation if required or flag for admin validation
*
* @param bool $noEmailValidationRequired If the user's email is implicitly trusted (for example, provided by a third party), set this to TRUE to bypass email validation
* @param bool $doNotDelete If TRUE, the account will not be deleted in the normal cleanup of unvalidated accounts. Used for accounts created in Commerce checkout.
* @param array|NULL $postBeforeRegister The row from core_post_before_registering if applicable
* @return void
*/
public function postRegistration( $noEmailValidationRequired = FALSE, $doNotDelete = FALSE, $postBeforeRegister = NULL )
{
/* Work out validation type */
$validationType = \IPS\Settings::i()->reg_auth_type;
if ( $noEmailValidationRequired )
{
switch ( $validationType )
{
case 'user':
$validationType = 'none';
break;
case 'admin_user':
$validationType = 'admin';
break;
}
}
/* Validation */
if ( $validationType != 'none' )
{
/* Set the flag */
$this->members_bitoptions['validating'] = TRUE;
$this->save();
/* Prevent duplicates from double clicking, etc */
\IPS\Db::i()->delete( 'core_validating', array( 'member_id=? and new_reg=1', $this->member_id ) );
/* Insert a record */
$vid = md5( $this->members_pass_hash . \IPS\Login::generateRandomString() );
\IPS\Db::i()->insert( 'core_validating', array(
'vid' => $vid,
'member_id' => $this->member_id,
'entry_date' => time(),
'new_reg' => 1,
'ip_address' => $this->ip_address,
'spam_flag' => ( $this->members_bitoptions['bw_is_spammer'] ) ?: FALSE,
'user_verified' => ( $validationType == 'admin' ) ?: FALSE,
'email_sent' => ( $validationType != 'admin' ) ? time() : NULL,
'do_not_delete' => $doNotDelete
) );
/* Send email for validation */
if ( $validationType != 'admin' )
{
\IPS\Email::buildFromTemplate( 'core', 'registration_validate', array( $this, $vid ), \IPS\Email::TYPE_TRANSACTIONAL )->send( $this );
}
/* Update core_post_before_registering */
if ( $postBeforeRegister )
{
\IPS\Db::i()->update( 'core_post_before_registering', array( 'member' => $this->member_id ), array( 'secret=?', $postBeforeRegister['secret'] ) );
}
}
/* If no email-related validation is required, send admin notification */
if ( $validationType == 'admin' )
{
\IPS\core\AdminNotification::send( 'core', 'NewRegValidate', NULL, TRUE, $this );
}
elseif ( $validationType == 'none' )
{
\IPS\core\AdminNotification::send( 'core', 'NewRegComplete', NULL, TRUE, $this );
}
/* Send a welcome email if validation is disabled */
if( $validationType == 'none' )
{
$this->_processPostBeforeRegistering( $postBeforeRegister['secret'] );
$this->_sendWelcomeEmail();
}
}