1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- class Application_Model_Email
- {
- /**
- * Send email
- *
- * @param string $subject
- * @param string $message
- * @param mixed $tos
- * @return void
- */
- public static function send($subject, $message, $tos, $from = null)
- {
- $mailServerConfigured = Application_Model_Preference::GetMailServerConfigured() == true ? true : false;
- $mailServerRequiresAuth = Application_Model_Preference::GetMailServerRequiresAuth() == true ? true : false;
- $success = true;
- if ($mailServerConfigured) {
- $mailServer = Application_Model_Preference::GetMailServer();
- $mailServerPort = Application_Model_Preference::GetMailServerPort();
- if (!empty($mailServerPort)) {
- $port = $mailServerPort;
- }
- if ($mailServerRequiresAuth) {
- $username = Application_Model_Preference::GetMailServerEmailAddress();
- $password = Application_Model_Preference::GetMailServerPassword();
- $config = array(
- 'auth' => 'login',
- 'ssl' => 'ssl',
- 'username' => $username,
- 'password' => $password
- );
- } else {
- $config = array(
- 'ssl' => 'tls'
- );
- }
- if (isset($port)) {
- $config['port'] = $port;
- }
- $transport = new Zend_Mail_Transport_Smtp($mailServer, $config);
- }
- $mail = new Zend_Mail('utf-8');
- $mail->setSubject($subject);
- $mail->setBodyText($message);
- foreach ((array) $tos as $to) {
- $mail->addTo($to);
- }
- if ($mailServerConfigured) {
- $mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetMailServerEmailAddress());
- try {
- $mail->send($transport);
- } catch (Exception $e) {
- $success = false;
- }
- } else {
- $mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetSystemEmail());
- try {
- $mail->send();
- } catch (Exception $e) {
- $success = false;
- }
- }
- return $success;
- }
- }
|