protected static function initMailer() { $backend = "mail"; I2CE::getConfig()->setIfIsSet($backend, "/modules/Mailer/mail_server_backend"); I2CE::getConfig()->setIfIsSet(self::$params, "/modules/Mailer/mail_server_params", true); I2CE::getConfig()->setIfIsSet(self::$headers, "/modules/Mailer/mail_message_headers", true); if (class_exists('Mail', false)) { self::$method = 'pear'; $allowed_backends = array("mail", "smtp", "sendmail"); } else { I2CE::raiseError("No Mail class : try 'sudo apt-get install pear-mail'"); self::$method = 'localhost'; $allowed_backends = array("localhost"); } if (!in_array($backend, $allowed_backends)) { I2CE::raiseError("Mailing backend {$backend} is not in list: " . implode(" ", $allowed_backends)); self::$method = false; return false; } if (self::$method == 'pear') { if (array_key_exists('auth', self::$params) && self::$params['auth'] == 1) { self::$params['auth'] = true; } try { self::$pear_mailer =& Mail::factory($backend, self::$params); } catch (Exception $e) { I2CE::raiseError("Could not create pear mailer:\n" . $e->getMessage()); self::$method = false; return false; } } }