diff --git a/ChangeLog b/ChangeLog index c29ad3cb9..503f1b924 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-07-24 Francis Lachapelle + + * UI/WebServerResources/UIxPreferences.js (savePreferences): + validate the email address of the sender mail and reply-to fields. + 2012-07-23 Jean Raby * debian*/sogo.logrotate: drop distro specific log rotate scripts diff --git a/UI/PreferencesUI/English.lproj/Localizable.strings b/UI/PreferencesUI/English.lproj/Localizable.strings index 921eb83a5..ee816ede3 100644 --- a/UI/PreferencesUI/English.lproj/Localizable.strings +++ b/UI/PreferencesUI/English.lproj/Localizable.strings @@ -167,6 +167,9 @@ "Signature" = "Signature"; "Please enter your signature below:" = "Please enter your signature below:"; +"Please specify a valid sender address." = "Please specify a valid sender address."; +"Please specify a valid reply-to address." = "Please specify a valid reply-to address."; + /* Additional Parameters */ "Additional Parameters" = "Additional Parameters"; diff --git a/UI/WebServerResources/UIxPreferences.js b/UI/WebServerResources/UIxPreferences.js index 27c76912c..dc2397518 100644 --- a/UI/WebServerResources/UIxPreferences.js +++ b/UI/WebServerResources/UIxPreferences.js @@ -17,6 +17,16 @@ function savePreferences(sender) { serializeContactsCategories(); } + if (mailCustomFromEnabled && !emailRE.test($("email").value)) { + showAlertDialog(_("Please specify a valid sender address.")); + sendForm = false; + } + + if (!emailRE.test($("replyTo").value)) { + showAlertDialog(_("Please specify a valid reply-to address.")); + sendForm = false; + } + if ($("dayStartTime")) { var start = $("dayStartTime"); var selectedStart = parseInt(start.options[start.selectedIndex].value); @@ -63,10 +73,10 @@ function savePreferences(sender) { $("sieveFilters").setValue(Object.toJSON(jsonFilters)); } - saveMailAccounts(); - - if (sendForm) + if (sendForm) { + saveMailAccounts(); $("mainForm").submit(); + } return false; }