/** * Set an agent's email details. * * @todo: Fix this so it's not messing around with passing arrays to the datasource. * * @param array $emailMapArray Array of Model_Core_Agent_EmailMap * @param mixed $agentSchemeNumber * @return bool * @throws Zend_Exception */ public function setEmailAddresses($emailMapArray = null, $agentSchemeNumber = null) { $emailMapArray = is_null($emailMapArray) ? $this->_agentObject->email : $emailMapArray; $agentSchemeNumber = is_null($agentSchemeNumber) ? $this->_agentSchemeNumber : $agentSchemeNumber; if (is_null($agentSchemeNumber)) { throw new Zend_Exception('ASN not specified'); } $emailArray = array(); foreach ($emailMapArray as $emailMapItem) { $emailArray[] = array('emailAddress' => $emailMapItem->emailAddress->emailAddress, 'categoryID' => $emailMapItem->category); } return $this->_agentEmailAddressDatasource->setEmailAddresses($agentSchemeNumber, $emailArray); }
/** * Support method to send a template via email * * @param string $content Mail content * @param string $documenttype Document type name - invitation or reminder * @param string $to Target email address * @param string $agentname Agents full name */ private function _emailDocumentContent($content, $documenttype, $to, $agentname) { $agentModel = new Datasource_Core_Agent_Emailaddresses(); $agentsEmailAddresses = $agentModel->getEmailAddresses($this->_agentSchemeNumber); $generalEmailAddress = ""; $rgEmailAddresss = ""; foreach ($agentsEmailAddresses as $j => $objEmail) { if ($j == 0) { $generalEmailAddress = $objEmail->emailAddress->emailAddress; } if ($objEmail->category == 4) { $rgEmailAddresss = $objEmail->emailAddress->emailAddress; break; } } if ($rgEmailAddresss == "") { $rgEmailAddresss = $generalEmailAddress; } $agentsEmailAddress = str_replace("\r", '', $rgEmailAddresss); $agentsEmailAddress = str_replace("\n", '', $agentsEmailAddress); $agentname = str_replace("\r", '', $agentname); $agentname = str_replace("\n", '', $agentname); $mail = new Zend_Mail(); $mail->setBodyHtml($content); $mail->setFrom($agentsEmailAddress, $agentname); $mail->addTo($to); $mail->setSubject("Rent Guarantee renewal {$documenttype}"); return $mail->send(); }