diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 29946086d..41c752872 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -50,6 +50,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetMailServerEmailAddress($values["preferences_email_server"]["email"]); Application_Model_Preference::SetMailServerPassword($values["preferences_email_server"]["ms_password"]); Application_Model_Preference::SetMailServerPort($values["preferences_email_server"]["port"]); + Application_Model_Preference::SetMailServerRequiresAuth($values["preferences_email_server"]["msRequiresAuth"]); } Application_Model_Preference::SetAutoUploadRecordedShowToSoundcloud($values["preferences_soundcloud"]["UseSoundCloud"]); diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php index 419a35a07..ef24ba0e7 100644 --- a/airtime_mvc/application/forms/EmailServerPreferences.php +++ b/airtime_mvc/application/forms/EmailServerPreferences.php @@ -41,6 +41,15 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm 'viewHelper' ) )); + + $this->addElement('checkbox', 'msRequiresAuth', array( + 'label' => 'Requires Authentication', + 'required' => false, + 'value' => Application_Model_Preference::GetMailServerRequiresAuth(), + 'decorators' => array( + 'viewHelper' + ) + )); $this->addElement('text', 'mailServer', array( 'class' => 'input_text', @@ -50,7 +59,9 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm 'decorators' => array('viewHelper'), 'allowEmpty' => false, 'validators' => array( - new ConditionalNotEmpty(array('configureMailServer'=>'1')) + new ConditionalNotEmpty(array( + 'configureMailServer' => '1' + )) ) )); @@ -62,7 +73,10 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm 'decorators' => array('viewHelper'), 'allowEmpty' => false, 'validators' => array( - new ConditionalNotEmpty(array('configureMailServer'=>'1')) + new ConditionalNotEmpty(array( + 'configureMailServer' => '1', + 'msRequiresAuth' => '1' + )) ) )); @@ -74,7 +88,10 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm 'decorators' => array('viewHelper'), 'allowEmpty' => false, 'validators' => array( - new ConditionalNotEmpty(array('configureMailServer'=>'1')) + new ConditionalNotEmpty(array( + 'configureMailServer' => '1', + 'msRequiresAuth' => '1' + )) ), 'renderPassword' => true )); diff --git a/airtime_mvc/application/models/Email.php b/airtime_mvc/application/models/Email.php index a809045c9..79455002d 100644 --- a/airtime_mvc/application/models/Email.php +++ b/airtime_mvc/application/models/Email.php @@ -13,23 +13,31 @@ class Application_Model_Email 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) { - $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 ($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' => 'ssl' + ); + } if (isset($port)) { $config['port'] = $port; diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 8d37df41e..48506660e 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -1089,6 +1089,16 @@ class Application_Model_Preference { return self::getValue("mail_server_port"); } + + public static function SetMailServerRequiresAuth($value) + { + self::setValue("mail_server_requires_auth", $value, false); + } + + public static function GetMailServerRequiresAuth() + { + return self::getValue("mail_server_requires_auth"); + } /* User specific preferences end */ public static function ShouldShowPopUp() diff --git a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml index 555cbdded..9aba8a052 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml @@ -44,7 +44,13 @@ + + +