public function send($to, $subject, $message, $add_hostname_to_subject = false, $no_cache = false, $cc = false, $email_from = false, $from_name = false)
{
$function_cache_id = false;
$args = func_get_args();
foreach ($args as $k => $v) {
$function_cache_id = $function_cache_id . serialize($k) . serialize($v);
}
$function_cache_id = __FUNCTION__ . crc32($function_cache_id);
$cache_group = 'notifications/email';
$cache_content = mw()->cache_manager->get($function_cache_id, $cache_group);
if ($no_cache == false and $cache_content != false) {
// return $cache_content;
}
$email_from = $email_from ?: mw()->option_manager->get('email_from', 'email');
if ($email_from == false or $email_from == '') {
} elseif (!filter_var($email_from, FILTER_VALIDATE_EMAIL)) {
}
if ($add_hostname_to_subject != false) {
$subject = '[' . mw()->url_manager->hostname() . '] ' . $subject;
}
if (isset($to) and filter_var($to, FILTER_VALIDATE_EMAIL)) {
$this->exec_send($to, $subject, $message, $email_from, $from_name);
if (isset($cc) and $cc != false and filter_var($cc, FILTER_VALIDATE_EMAIL)) {
$this->exec_send($cc, $subject, $message);
}
mw()->cache_manager->save(true, $function_cache_id, $cache_group, 30);
return true;
} else {
return false;
}
}