Exemple #1
0
 /**
  * Sends a confirmation e-mail
  *
  * @param string $userId
  */
 public function registerMail($userId)
 {
     $User = $this->_model->getUser($userId);
     if (!$User) {
         return false;
     }
     $handle = $User->handle;
     $email = $User->email;
     $key = APP_User::getSetting($userId, 'regkey');
     if (!$key) {
         return false;
     }
     $key = $key->value;
     $confirmUrl = PVars::getObj('env')->baseuri . 'user/confirm/' . $handle . '/' . $key;
     $registerMailText = array();
     require SCRIPT_BASE . 'text/' . PVars::get()->lang . '/apps/user/register.php';
     $from = $registerMailText['from_name'] . ' <' . PVars::getObj('config_mailAddresses')->registration . '>';
     $subject = $registerMailText['subject'];
     $Mail = new MOD_mail_Multipart();
     $logoCid = $Mail->addAttachment(HTDOCS_BASE . 'images/logo.png', 'image/png');
     ob_start();
     require 'templates/register_html.php';
     $mailHTML = ob_get_contents();
     ob_end_clean();
     $mailText = '';
     require 'templates/register_plain.php';
     $Mail->addMessage($mailText);
     $Mail->addMessage($mailHTML, 'text/html');
     $Mail->buildMessage();
     $Mailer = Mail::factory(PVars::getObj('config_smtp')->backend, PVars::get()->config_smtp);
     if (is_a($Mailer, 'PEAR_Error')) {
         $e = new PException($Mailer->getMessage());
         $e->addMessage($Mailer->getDebugInfo());
         throw $e;
     }
     $rcpts = $email;
     $header = $Mail->header;
     $header['From'] = $from;
     $header['To'] = $email;
     $header['Subject'] = $subject;
     $header['Message-Id'] = '<reg' . $userId . '.' . sha1(uniqid(rand())) . '@myTravelbook>';
     $r = @$Mailer->send($rcpts, $header, $Mail->message);
     if (is_object($r) && is_a($r, 'PEAR_Error')) {
         $e = new PException($r->getMessage());
         $e->addInfo($r->getDebugInfo());
         throw $e;
     }
 }