The Email library allows you to send emails and email templates.
sendEmail
Send email.
loader::library('email');
$email = 'john@email.com';
$subject = 'Example subject';
$messageText = 'Example message'; // plain text message
$messageHTML = '<p>Example message</p>'; // html message
$this->email->sendEmail($email, $subject, $messageText, $messageHTML);
// Add replaceable tags
$subject = 'Hey [name]';
$tags = array('name' => 'John');
$this->email->sendEmail($email, $subject, $messageText, $messageHTML, $tags);
// Add the entire user session array (includes username, email, profile fields, etc)
$tags = session::section('session');
$this->email->sendEmail($email, $subject, $messageText, $messageHTML, $tags);
sendTemplate
Send email template.
loader::library('email');
// Send 'welcome' email
$email = 'john@email.com';
$tags = session::section('session');
$this->email->sendTemplate('users_account_welcome', $email, $tags);
// Send email template in user's selected language
$user = $this->users_model->getUser('john@email.com'); // get user from the database
$this->email->sendTemplate('users_account_welcome', $user['email'], $user, $user['language_id']);