/**
  * @return ilMimeMail
  */
 protected function initMimeMail()
 {
     /**
      * @var $ilSetting ilSetting
      */
     global $ilSetting;
     $this->mime_mail = new ilMimeMail();
     $this->mime_mail->From($ilSetting->get('admin_email'));
     $this->mime_mail->autoCheck(false);
     return $this->mime_mail;
 }
 function sendMail($sid, $to, $cc, $bcc, $sender, $subject, $message, $attach)
 {
     $this->initAuth($sid);
     $this->initIlias();
     if (!$this->__checkSession($sid)) {
         return $this->__raiseError($this->__getMessage(), $this->__getMessageCode());
     }
     global $ilLog;
     include_once 'Services/Mail/classes/class.ilMimeMail.php';
     $mmail = new ilMimeMail();
     $mmail->autoCheck(false);
     $mmail->From($sender);
     $mmail->To(explode(',', $to));
     $mmail->Subject($subject);
     $mmail->Body($message);
     if ($cc) {
         $mmail->Cc(explode(',', $cc));
     }
     if ($bcc) {
         $mmail->Bcc(explode(',', $bcc));
     }
     if ($attach) {
         // mjansen: switched separator from "," to "#:#" because of mantis bug #6039
         // for backward compatibility we have to check if the substring "#:#" exists as leading separator
         // otherwise we should use ";"
         if (strpos($attach, '#:#') === 0) {
             $attach = substr($attach, strlen('#:#'));
             $attachments = explode('#:#', $attach);
         } else {
             $attachments = explode(',', $attach);
         }
         foreach ($attachments as $attachment) {
             $mmail->Attach($attachment);
         }
     }
     $mmail->Send();
     $ilLog->write('SOAP: sendMail(): ' . $to . ', ' . $cc . ', ' . $bcc);
     return true;
 }
 public function send()
 {
     global $lng;
     $customer_array = $this->_getObjectsToRemind();
     foreach ($customer_array as $user_id => $objects_array) {
         $this->initLanguage($user_id);
         $user_lang = $this->getLanguage() ? $this->getLanguage() : $lng;
         $this->initMail();
         $this->setRecipients($user_id);
         $this->setSubject($this->getLanguageText('payment_reminder_notification_subject'));
         $this->setBody(ilMail::getSalutation($user_id, $this->getLanguage()));
         $this->appendBody("\n\n");
         $this->appendBody($user_lang->txt('bought_objects_expire_soon'));
         $this->appendBody("\n\n");
         foreach ($objects_array as $key => $pobject) {
             $this->appendBody("----------------------------------------------------------------------------------------------");
             $this->appendBody("\n\n");
             $this->appendBody($user_lang->txt('title') . ": " . $objects_array[$key]['object_title'] . "\n");
             $this->appendBody($user_lang->txt('access_enddate') . ": " . $objects_array[$key]['access_enddate']);
             $this->appendBody("\n");
             $this->appendBody("\n\n");
         }
         $this->appendBody("----------------------------------------------------------------------------------------------");
         //@todo fix this: $mailbox_link
         $this->appendBody($mailbox_link);
         $this->appendBody("\n\n");
         $this->appendBody(ilMail::_getAutoGeneratedMessageString($this->getLanguage()));
         $this->appendBody(ilMail::_getInstallationSignature());
         $mmail = new ilMimeMail();
         $mmail->autoCheck(false);
         $mmail->From('noreply');
         $mmail->To(ilObjUser::_lookupEmail($user_id));
         $mmail->Subject($this->getSubject());
         $mmail->Body($this->getBody());
         $mmail->Send();
     }
 }
 public static function _createRandomUserAccount($keyarray)
 {
     global $ilDB, $ilUser, $ilSetting, $rbacadmin;
     if ($_SESSION['create_user_account'] != NULL) {
         $obj_user = new ilObjUser($_SESSION['create_user_account']);
         return $obj_user;
     } else {
         $userLogin = array();
         $res = $ilDB->query('SELECT sequence FROM object_data_seq');
         $row = $ilDB->fetchAssoc($res);
         $temp_user_id = (int) $row['sequence'] + 1;
         $userLogin['login'] = '******' . $temp_user_id;
         $userLogin['passwd'] = ilUtil::generatePasswords(1);
         require_once 'Services/User/classes/class.ilObjUser.php';
         include_once "Services/Mail/classes/class.ilAccountMail.php";
         $obj_user = new ilObjUser();
         $obj_user->setId($temp_user_id);
         $obj_user->setLogin($userLogin['login']);
         $obj_user->setPasswd((string) $userLogin['passwd'][0], IL_PASSWD_PLAIN);
         $_SESSION['tmp_user_account']['login'] = $userLogin['login'];
         $_SESSION['tmp_user_account']['passwd'] = $userLogin['passwd'];
         $obj_user->setFirstname($keyarray['first_name']);
         $obj_user->setLastname($keyarray['last_name']);
         $obj_user->setEmail($keyarray['payer_email']);
         #	$obj_user->setEmail('*****@*****.**');
         $obj_user->setGender('f');
         $obj_user->setLanguage($ilSetting->get("language"));
         $obj_user->setActive(true);
         $obj_user->setTimeLimitUnlimited(true);
         $obj_user->setTitle($obj_user->getFullname());
         $obj_user->setDescription($obj_user->getEmail());
         $obj_user->setTimeLimitOwner(7);
         $obj_user->setTimeLimitUnlimited(1);
         $obj_user->setTimeLimitMessage(0);
         $obj_user->setApproveDate(date("Y-m-d H:i:s"));
         // Set default prefs
         $obj_user->setPref('hits_per_page', $ilSetting->get('hits_per_page', 30));
         $obj_user->setPref('show_users_online', $ilSetting->get('show_users_online', 'y'));
         $obj_user->writePrefs();
         // at the first login the user must complete profile
         $obj_user->setProfileIncomplete(true);
         $obj_user->create();
         $obj_user->saveAsNew();
         $user_role = ilObject::_exists(4, false);
         if (!$user_role) {
             include_once "./Services/AccessControl/classes/class.ilObjRole.php";
             $reg_allowed = ilObjRole::_lookupRegisterAllowed();
             $user_role = $reg_allowed[0]['id'];
         } else {
             $user_role = 4;
         }
         $rbacadmin->assignUser((int) $user_role, $obj_user->getId(), true);
         include_once "Services/Mail/classes/class.ilMimeMail.php";
         global $ilias, $lng;
         $settings = $ilias->getAllSettings();
         $mmail = new ilMimeMail();
         $mmail->autoCheck(false);
         $mmail->From($settings["admin_email"]);
         $mmail->To($obj_user->getEmail());
         // mail subject
         $subject = $lng->txt("reg_mail_subject");
         // mail body
         $body = $lng->txt("reg_mail_body_salutation") . " " . $obj_user->getFullname() . ",\n\n" . $lng->txt("reg_mail_body_text1") . "\n\n" . $lng->txt("reg_mail_body_text2") . "\n" . ILIAS_HTTP_PATH . "/login.php?client_id=" . $ilias->client_id . "\n";
         $body .= $lng->txt("login") . ": " . $obj_user->getLogin() . "\n";
         $body .= $lng->txt("passwd") . ": " . $userLogin['passwd'][0] . "\n";
         $body .= "\n";
         $body .= $lng->txt("reg_mail_body_text3") . "\n\r";
         $body .= $obj_user->getProfileAsString($lng);
         $mmail->Subject($subject);
         $mmail->Body($body);
         $mmail->Send();
         $_SESSION['create_user_account'] = $obj_user->getId();
         return $obj_user;
     }
 }
 /**
  * send mime mail using class.ilMimeMail.php
  * All external mails are send to SOAP::sendMail starting a kind of background process
  * @param string of recipients
  * @param string of recipients
  * @param string of recipients
  * @param string subject
  * @param string message
  * @param array attachments
  * @param bool prevent soap
  * @access	public
  * @return	array of saved data
  */
 function sendMimeMail($a_rcp_to, $a_rcp_cc, $a_rcp_bcc, $a_m_subject, $a_m_message, $a_attachments, $a_no_soap = false)
 {
     include_once "Services/Mail/classes/class.ilMimeMail.php";
     #var_dump("<pre>",$a_rcp_to,$a_rcp_cc,$a_rcp_bcc,$a_m_subject,$a_m_message,$a_attachments,"<pre>");
     #$inst_name = $this->ilias->getSetting("inst_name") ? $this->ilias->getSetting("inst_name") : "ILIAS 4";
     #$a_m_subject = "[".$inst_name."] ".$a_m_subject;
     $a_m_subject = self::getSubjectPrefix() . ' ' . $a_m_subject;
     $sender = $this->getMimeMailSender();
     // #10854
     if ($this->isSOAPEnabled() && !$a_no_soap) {
         // Send per soap
         include_once 'Services/WebServices/SOAP/classes/class.ilSoapClient.php';
         $soap_client = new ilSoapClient();
         $soap_client->setResponseTimeout(1);
         $soap_client->enableWSDL(true);
         $soap_client->init();
         $attachments = array();
         $a_attachments = $a_attachments ? $a_attachments : array();
         foreach ($a_attachments as $attachment) {
             $attachments[] = $this->mfile->getAbsolutePath($attachment);
         }
         // mjansen: switched separator from "," to "#:#" because of mantis bug #6039
         $attachments = implode('#:#', $attachments);
         // mjansen: use "#:#" as leading delimiter
         if (strlen($attachments)) {
             $attachments = "#:#" . $attachments;
         }
         $soap_client->call('sendMail', array($_COOKIE['PHPSESSID'] . '::' . $_COOKIE['ilClientId'], $a_rcp_to, $a_rcp_cc, $a_rcp_bcc, $sender, $a_m_subject, $a_m_message, $attachments));
         return true;
     } else {
         // send direct
         include_once "Services/Mail/classes/class.ilMimeMail.php";
         $mmail = new ilMimeMail();
         $mmail->autoCheck(false);
         $mmail->From($sender);
         $mmail->To($a_rcp_to);
         // Add installation name to subject
         $mmail->Subject($a_m_subject);
         $mmail->Body($a_m_message);
         if ($a_rcp_cc) {
             $mmail->Cc($a_rcp_cc);
         }
         if ($a_rcp_bcc) {
             $mmail->Bcc($a_rcp_bcc);
         }
         if (is_array($a_attachments)) {
             foreach ($a_attachments as $attachment) {
                 $mmail->Attach($this->mfile->getAbsolutePath($attachment));
             }
         }
         $mmail->Send();
     }
 }
    public function send()
    {
        global $ilDB, $lng, $ilSetting;
        $is_message_enabled = $ilSetting->get("mail_notification_message");
        $res = $ilDB->queryF('SELECT mail.* FROM mail_options
						INNER JOIN mail ON mail.user_id = mail_options.user_id
						INNER JOIN mail_obj_data ON mail_obj_data.obj_id = mail.folder_id
						WHERE cronjob_notification = %s
						AND send_time >= %s
						AND m_status = %s', array('integer', 'timestamp', 'text'), array(1, date('Y-m-d H:i:s', time() - 60 * 60 * 24), 'unread'));
        $users = array();
        $user_id = 0;
        while ($row = $ilDB->fetchAssoc($res)) {
            if ($user_id == 0 || $row['user_id'] != $user_id) {
                $user_id = $row['user_id'];
            }
            $users[$user_id][] = $row;
        }
        foreach ($users as $user_id => $mail_data) {
            $this->initLanguage($user_id);
            $user_lang = $this->getLanguage() ? $this->getLanguage() : $lng;
            $this->initMail();
            $this->setRecipients($user_id);
            $this->setSubject($this->getLanguageText('mail_notification_subject'));
            $this->setBody(ilMail::getSalutation($user_id, $this->getLanguage()));
            $this->appendBody("\n\n");
            if (count($mail_data) == 1) {
                $this->appendBody(sprintf($user_lang->txt('mail_at_the_ilias_installation'), count($mail_data), ilUtil::_getHttpPath()));
            } else {
                $this->appendBody(sprintf($user_lang->txt('mails_at_the_ilias_installation'), count($mail_data), ilUtil::_getHttpPath()));
            }
            $this->appendBody("\n\n");
            $counter = 1;
            foreach ($mail_data as $mail) {
                $this->appendBody("----------------------------------------------------------------------------------------------");
                $this->appendBody("\n\n");
                $this->appendBody('#' . $counter . "\n\n");
                $this->appendBody($user_lang->txt('date') . ": " . $mail['send_time']);
                $this->appendBody("\n");
                if ($mail['sender_id'] == ANONYMOUS_USER_ID) {
                    $sender = ilMail::_getIliasMailerName();
                } else {
                    $sender = ilObjUser::_lookupLogin($mail['sender_id']);
                }
                $this->appendBody($user_lang->txt('sender') . ": " . $sender);
                $this->appendBody("\n");
                $this->appendBody($user_lang->txt('subject') . ": " . $mail['m_subject']);
                $this->appendBody("\n\n");
                if ($is_message_enabled == true) {
                    $this->appendBody($user_lang->txt('message') . ": " . $mail['m_message']);
                    $this->appendBody("\n\n");
                }
                ++$counter;
            }
            $this->appendBody("----------------------------------------------------------------------------------------------");
            $this->appendBody("\n\n");
            $this->appendBody($user_lang->txt('follow_link_to_read_mails') . " ");
            $this->appendBody("\n");
            $mailbox_link = ilUtil::_getHttpPath();
            $mailbox_link .= "/goto.php?target=mail&client_id=" . CLIENT_ID;
            $this->appendBody($mailbox_link);
            $this->appendBody("\n\n");
            $this->appendBody(ilMail::_getAutoGeneratedMessageString($this->getLanguage()));
            $this->appendBody(ilMail::_getInstallationSignature());
            $mmail = new ilMimeMail();
            $mmail->autoCheck(false);
            $mmail->From(ilMail::getIliasMailerAddress());
            $mmail->To(ilObjUser::_lookupEmail($user_id));
            $mmail->Subject($this->getSubject());
            $mmail->Body($this->getBody());
            $mmail->Send();
        }
    }
 protected function __distributeMails($password, $a_language = null)
 {
     global $ilSetting;
     include_once './Services/Language/classes/class.ilLanguage.php';
     include_once './Services/User/classes/class.ilObjUser.php';
     include_once "Services/Mail/classes/class.ilFormatMail.php";
     include_once './Services/Registration/classes/class.ilRegistrationMailNotification.php';
     // Always send mail to approvers
     if ($this->registration_settings->getRegistrationType() == IL_REG_APPROVE && !$this->code_was_used) {
         $mail = new ilRegistrationMailNotification();
         $mail->setType(ilRegistrationMailNotification::TYPE_NOTIFICATION_CONFIRMATION);
         $mail->setRecipients($this->registration_settings->getApproveRecipients());
         $mail->setAdditionalInformation(array('usr' => $this->userObj));
         $mail->send();
     } else {
         $mail = new ilRegistrationMailNotification();
         $mail->setType(ilRegistrationMailNotification::TYPE_NOTIFICATION_APPROVERS);
         $mail->setRecipients($this->registration_settings->getApproveRecipients());
         $mail->setAdditionalInformation(array('usr' => $this->userObj));
         $mail->send();
     }
     // Send mail to new user
     // Registration with confirmation link ist enabled
     if ($this->registration_settings->getRegistrationType() == IL_REG_ACTIVATION && !$this->code_was_used) {
         include_once './Services/Registration/classes/class.ilRegistrationMimeMailNotification.php';
         $mail = new ilRegistrationMimeMailNotification();
         $mail->setType(ilRegistrationMimeMailNotification::TYPE_NOTIFICATION_ACTIVATION);
         $mail->setRecipients(array($this->userObj));
         $mail->setAdditionalInformation(array('usr' => $this->userObj, 'hash_lifetime' => $this->registration_settings->getRegistrationHashLifetime()));
         $mail->send();
     } else {
         // try individual account mail in user administration
         include_once "Services/Mail/classes/class.ilAccountMail.php";
         include_once './Services/User/classes/class.ilObjUserFolder.php';
         $amail = ilObjUserFolder::_lookupNewAccountMail($a_language);
         if (trim($amail["body"]) == "" || trim($amail["subject"]) == "") {
             $amail = ilObjUserFolder::_lookupNewAccountMail($GLOBALS["lng"]->getDefaultLanguage());
         }
         if (trim($amail["body"]) != "" && trim($amail["subject"]) != "") {
             $acc_mail = new ilAccountMail();
             $acc_mail->setUser($this->userObj);
             if ($this->registration_settings->passwordGenerationEnabled()) {
                 $acc_mail->setUserPassword($password);
             }
             if ($amail["att_file"]) {
                 include_once "Services/User/classes/class.ilFSStorageUserFolder.php";
                 $fs = new ilFSStorageUserFolder(USER_FOLDER_ID);
                 $fs->create();
                 $path = $fs->getAbsolutePath() . "/";
                 $acc_mail->addAttachment($path . "/" . $amail["lang"], $amail["att_file"]);
             }
             $acc_mail->send();
         } else {
             include_once "Services/Mail/classes/class.ilMimeMail.php";
             $mmail = new ilMimeMail();
             $mmail->autoCheck(false);
             $mmail->From($ilSetting->get("admin_email"));
             $mmail->To($this->userObj->getEmail());
             // mail subject
             $subject = $this->lng->txt("reg_mail_subject");
             // mail body
             $body = $this->lng->txt("reg_mail_body_salutation") . " " . $this->userObj->getFullname() . ",\n\n" . $this->lng->txt("reg_mail_body_text1") . "\n\n" . $this->lng->txt("reg_mail_body_text2") . "\n" . ILIAS_HTTP_PATH . "/login.php?client_id=" . CLIENT_ID . "\n";
             $body .= $this->lng->txt("login") . ": " . $this->userObj->getLogin() . "\n";
             if ($this->registration_settings->passwordGenerationEnabled()) {
                 $body .= $this->lng->txt("passwd") . ": " . $password . "\n";
             }
             $body .= "\n";
             // Info about necessary approvement
             if ($this->registration_settings->getRegistrationType() == IL_REG_APPROVE && !$this->code_was_used) {
                 $body .= $this->lng->txt('reg_mail_body_pwd_generation') . "\n\n";
             }
             $body .= $this->lng->txt("reg_mail_body_text3") . "\n\r";
             $body .= $this->userObj->getProfileAsString($this->lng);
             $mmail->Subject($subject);
             $mmail->Body($body);
             $mmail->Send();
         }
     }
 }
 /**
  * Sends the mail with its object properties as MimeMail
  * It first tries to read the mail body, subject and sender address from posted named formular fields. 
  * If no field values found the defaults are used.
  * Placehoders will be replaced by the appropriate data.
  * @access	public
  * @param object ilUser
  */
 function send()
 {
     global $ilSetting;
     // determine language and get account mail data
     // fall back to default language if acccount mail data is not given for user language.
     $amail = $this->readMailTemplate($this->data['language']);
     if ($amail['body'] == '' || $amail['subject'] == '') {
         $amail = $this->readMailTemplate($ilSetting->get('language'));
         $lang = $ilSetting->get('language');
     } else {
         $lang = $this->data['language'];
     }
     // fallback if mail data is still not given
     if ($this->areLangVariablesUsedAsFallback() && ($amail['body'] == '' || $amail['subject'] == '')) {
         $lang = $this->data['language'];
         $tmp_lang = $this->getLng($lang);
         // mail subject
         $mail_subject = $tmp_lang->txt('disk_quota_mail_subject');
         // mail body
         $mail_body = $tmp_lang->txt('disk_quota_mail_body_salutation') . ' ' . $data['firstname'] . ' ' . $data['lastname'] . ",\n\n" . $tmp_lang->txt('disk_quota_body_text1') . "\n\n" . $tmp_lang->txt('disk_quota_body_text2') . "\n" . ILIAS_HTTP_PATH . '/login.php?client_id=' . CLIENT_ID . "\n";
         $mail_body .= $tmp_lang->txt('login') . ': ' . $data['firstname'] . "\n";
         $mail_body .= "\n";
         $mail_body .= $tmp_lang->txt('disk_quota_mail_body_text3') . "\n\r";
         //$mail_body .= $user->getProfileAsString($tmp_lang);
     } else {
         // replace placeholders
         $mail_subject = $this->replacePlaceholders($amail['subject'], $amail, $lang);
         $mail_body = $this->replacePlaceholders($amail['body'], $amail, $lang);
     }
     // send the mail
     include_once 'Services/Mail/classes/class.ilMimeMail.php';
     $mmail = new ilMimeMail();
     $mmail->autoCheck(false);
     $mmail->From($ilSetting->get('admin_email'));
     $mmail->Subject($mail_subject);
     $mmail->To($this->data['email']);
     $mmail->Body($mail_body);
     $mmail->Send();
     include_once 'Services/Mail/classes/class.ilMail.php';
     $mail = new ilMail($_SESSION["AccountId"]);
     $mail->sendMail($this->data['login'], "", "", $mail_subject, $mail_body, array(), array("normal"));
     return true;
 }
Example #9
0
 /**
  * Sends the mail with its object properties as MimeMail
  * It first tries to read the mail body, subject and sender address from posted named formular fields. 
  * If no field values found the defaults are used.
  * Placehoders will be replaced by the appropriate data.
  * @access	public
  * @param object ilUser
  */
 function send()
 {
     global $ilSetting;
     $user =& $this->getUser();
     if (!$user->getEmail()) {
         return false;
     }
     // determine language and get account mail data
     // fall back to default language if acccount mail data is not given for user language.
     $amail = $this->readAccountMail($user->getLanguage());
     if ($amail['body'] == '' || $amail['subject'] == '') {
         $amail = $this->readAccountMail($ilSetting->get('language'));
         $lang = $ilSetting->get('language');
     } else {
         $lang = $user->getLanguage();
     }
     // fallback if mail data is still not given
     if ($this->areLangVariablesUsedAsFallback() && ($amail['body'] == '' || $amail['subject'] == '')) {
         $lang = $user->getLanguage();
         $tmp_lang = new ilLanguage($lang);
         // mail subject
         $mail_subject = $tmp_lang->txt('reg_mail_subject');
         $timelimit = "";
         if (!$user->checkTimeLimit()) {
             $tmp_lang->loadLanguageModule("registration");
             // #6098
             $timelimit_from = new ilDateTime($user->getTimeLimitFrom(), IL_CAL_UNIX);
             $timelimit_until = new ilDateTime($user->getTimeLimitUntil(), IL_CAL_UNIX);
             $timelimit = ilDatePresentation::formatPeriod($timelimit_from, $timelimit_until);
             $timelimit = "\n" . sprintf($tmp_lang->txt('reg_mail_body_timelimit'), $timelimit) . "\n\n";
         }
         // mail body
         $mail_body = $tmp_lang->txt('reg_mail_body_salutation') . ' ' . $user->getFullname() . ",\n\n" . $tmp_lang->txt('reg_mail_body_text1') . "\n\n" . $tmp_lang->txt('reg_mail_body_text2') . "\n" . ILIAS_HTTP_PATH . '/login.php?client_id=' . CLIENT_ID . "\n";
         $mail_body .= $tmp_lang->txt('login') . ': ' . $user->getLogin() . "\n";
         $mail_body .= $tmp_lang->txt('passwd') . ': ' . $this->u_password . "\n";
         $mail_body .= "\n" . $timelimit;
         $mail_body .= $tmp_lang->txt('reg_mail_body_text3') . "\n\r";
         $mail_body .= $user->getProfileAsString($tmp_lang);
     } else {
         // replace placeholders
         $mail_subject = $this->replacePlaceholders($amail['subject'], $user, $amail, $lang);
         $mail_body = $this->replacePlaceholders($amail['body'], $user, $amail, $lang);
     }
     // send the mail
     include_once 'Services/Mail/classes/class.ilMimeMail.php';
     $mmail = new ilMimeMail();
     $mmail->autoCheck(false);
     $mmail->From($ilSetting->get('admin_email'));
     $mmail->Subject($mail_subject);
     $mmail->To($user->getEmail());
     $mmail->Body($mail_body);
     foreach ($this->attachments as $filename => $display_name) {
         $mmail->Attach($filename, "", "attachment", $display_name);
     }
     /*
     echo "<br><br><b>From</b>:".$ilSetting->get("admin_email");
     echo "<br><br><b>To</b>:".$user->getEmail();
     echo "<br><br><b>Subject</b>:".$mail_subject;
     echo "<br><br><b>Body</b>:".$mail_body;
     return true;*/
     $mmail->Send();
     return true;
 }
Example #10
0
 function __sendProfileMail()
 {
     global $ilUser, $ilias;
     if ($_POST['send_mail'] != 'y') {
         return '';
     }
     if (!strlen($this->object->getEmail())) {
         return '';
     }
     // Choose language of user
     $usr_lang = new ilLanguage($this->object->getLanguage());
     $usr_lang->loadLanguageModule('crs');
     $usr_lang->loadLanguageModule('registration');
     include_once "Services/Mail/classes/class.ilMimeMail.php";
     $mmail = new ilMimeMail();
     $mmail->autoCheck(false);
     $mmail->From($ilUser->getEmail());
     $mmail->To($this->object->getEmail());
     // mail subject
     $subject = $usr_lang->txt("profile_changed");
     // mail body
     $body = $usr_lang->txt("reg_mail_body_salutation") . " " . $this->object->getFullname() . ",\n\n";
     $date = $this->object->getApproveDate();
     // Approve
     if (time() - strtotime($date) < 10) {
         $body .= $usr_lang->txt('reg_mail_body_approve') . "\n\n";
     } else {
         $body .= $usr_lang->txt('reg_mail_body_profile_changed') . "\n\n";
     }
     // Append login info only if password has been chacnged
     if ($_POST['passwd'] != '********') {
         $body .= $usr_lang->txt("reg_mail_body_text2") . "\n" . ILIAS_HTTP_PATH . "/login.php?client_id=" . $ilias->client_id . "\n" . $usr_lang->txt("login") . ": " . $this->object->getLogin() . "\n" . $usr_lang->txt("passwd") . ": " . $_POST['passwd'] . "\n\n";
     }
     $body .= $usr_lang->txt("reg_mail_body_text3") . "\n";
     $body .= $this->object->getProfileAsString($usr_lang);
     $mmail->Subject($subject);
     $mmail->Body($body);
     $mmail->Send();
     return "<br/>" . $this->lng->txt("mail_sent");
 }