CC-3718: Please enable user to input the mail server settings

-done
This commit is contained in:
denise 2012-06-11 12:53:09 -04:00
parent 7d4851573f
commit ca8187c9c2
10 changed files with 352 additions and 82 deletions

View file

@ -12,15 +12,44 @@ class Application_Model_Email {
*/
public static function send($subject, $message, $tos, $from = null)
{
$mailServerConfigured = Application_Model_Preference::GetMailServerConfigured() == true ? true : false;
if ($mailServerConfigured) {
$username = Application_Model_Preference::GetMailServerEmailAddress();
$password = Application_Model_Preference::GetMailServerPassword();
$mailServer = Application_Model_Preference::GetMailServer();
$mailServerPort = Application_Model_Preference::GetMailServerPort();
if (!empty($mailServerPort)) {
$port = Application_Model_Preference::GetMailServerPort();
}
$config = array(
'auth' => 'login',
'ssl' => 'ssl',
'username' => $username,
'password' => $password
);
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);
$mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetSystemEmail());
foreach ((array) $tos as $to) {
$mail->addTo($to);
}
$mail->send();
if ($mailServerConfigured) {
$mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetMailServerEmailAddress());
$mail->send($transport);
} else {
$mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetSystemEmail());
$mail->send();
}
}
}
}