public function SendEmailToContact($template_name, $recipient_contact_id, $data)
 {
     //init email info
     $template = $this->m_Tempaltes[$template_name]["TEMPLATE"];
     $subject = $this->m_Tempaltes[$template_name]["TITLE"];
     $sender = $this->m_Tempaltes[$template_name]["EMAILACCOUNT"];
     //render the email tempalte
     $data['app_index'] = APP_INDEX;
     $data['app_url'] = APP_URL;
     $data['operator_name'] = BizSystem::GetProfileName($data['create_by']);
     $data['operator_email'] = BizSystem::GetProfileEmail($data['create_by']);
     $data['refer_url'] = SITE_URL;
     //prepare recipient info
     $userObj = BizSystem::getObject("contact.do.ContactSystemDO");
     $userData = $userObj->directFetch("[Id]='" . $recipient_contact_id . "'", 1);
     if (!count($data)) {
         return false;
     }
     $userData = $userData[0];
     $recipient['email'] = $userData['email'];
     $recipient['name'] = $userData['display_name'];
     $data['contact_display_name'] = $userData['display_name'];
     $tplFile = BizSystem::getTplFileWithPath($template, "email");
     $content = $this->renderEmail($data, $tplFile);
     if ($userData['email'] == '') {
         //if no email address , then do nothing
         return;
     }
     //send it to the queue
     $result = $this->sendEmail($sender, $recipient, $subject, $content);
     return $result;
 }