<%-- - Copyright (C) 2005-2008 Jive Software. All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --%> <%@ page import="java.util.*, org.jivesoftware.util.*" errorPage="error.jsp" %> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %> <% webManager.init(request, response, session, application, out ); %> <% // get parameters String host = ParamUtils.getParameter(request,"host"); int port = ParamUtils.getIntParameter(request,"port",0); String username = ParamUtils.getParameter(request,"server_username"); String password = ParamUtils.getParameter(request,"server_password"); boolean ssl = ParamUtils.getBooleanParameter(request,"ssl"); boolean save = request.getParameter("save") != null; boolean test = request.getParameter("test") != null; boolean debug = ParamUtils.getBooleanParameter(request, "debug"); // Handle a test request if (test) { response.sendRedirect("system-emailtest.jsp"); return; } EmailService service = EmailService.getInstance(); // Save the email settings if requested Map errors = new HashMap(); if (save) { if (host != null) { service.setHost(host); } else { errors.put("host",""); } if (port > 0) { service.setPort(port); } else { // Default to port 25. service.setPort(25); } service.setUsername(username); // Get hash value of existing password String existingHashPassword = ""; if (service.getPassword() != null) { existingHashPassword = StringUtils.hash(service.getPassword()); } // Check if the new password was changed. If it wasn't changed, then it is the original hashed password // NOTE: if the new PLAIN password equals the previous HASHED password this fails, but is unlikely. if (!existingHashPassword.equals(password)) { // Hash the new password since it was changed String newHashPassword = ""; if (password != null) { newHashPassword = StringUtils.hash(password); } // Change password if hash values are different if (!existingHashPassword.equals(newHashPassword)) { service.setPassword(password); } } service.setDebugEnabled(debug); service.setSSLEnabled(ssl); if (errors.size() == 0) { // Log the event webManager.logEvent("updated email service settings", "host = "+host+"\nport = "+port+"\nusername = "+username); // Set property to specify email is configured JiveGlobals.setProperty("mail.configured", "true"); response.sendRedirect("system-email.jsp?success=true"); } } host = service.getHost(); port = service.getPort(); username = service.getUsername(); password = service.getPassword(); ssl = service.isSSLEnabled(); debug = service.isDebugEnabled(); %> <fmt:message key="system.email.title"/>

<% if ("true".equals(request.getParameter("success"))) { %>
<% } %> <% if (errors.size() > 0) { %>
<% } %>

<% if (errors.containsKey("host")) { %> <% } %> <%-- spacer --%>
: " size="40" maxlength="150">
 
: " size="10" maxlength="15">
: id="rb01">   id="rb02">   ()
 
: " size="40" maxlength="150">
: " size="40" maxlength="150">
: >
"> ">