You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2020/05/07 05:33:13 UTC
[openmeetings] branch master updated: [OPENMEETINGS-2328]
additional config for SSL is added, code clean-up
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new c46b7d8 [OPENMEETINGS-2328] additional config for SSL is added, code clean-up
c46b7d8 is described below
commit c46b7d89f38b0bf4ea3c66365f87b26b1c992961
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu May 7 12:32:58 2020 +0700
[OPENMEETINGS-2328] additional config for SSL is added, code clean-up
---
.../apache/openmeetings/core/mail/MailHandler.java | 90 ++++++----------
.../{user => core/mail}/TestMailSending.java | 16 ++-
.../db/dao/basic/ConfigurationDao.java | 120 +++++----------------
.../installation/ImportInitvalues.java | 2 +
.../openmeetings/util/OpenmeetingsVariables.java | 92 ++++++++++++++++
5 files changed, 163 insertions(+), 157 deletions(-)
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
index 0d19dff..3fbcc18 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
@@ -19,16 +19,17 @@
package org.apache.openmeetings.core.mail;
import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REPLY_TO_ORGANIZER;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_PASS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_PORT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_SERVER;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_SYSTEM_EMAIL;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIMEOUT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIMEOUT_CON;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TLS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_USER;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getMailFrom;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpConnectionTimeOut;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpPass;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpPort;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpServer;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpTimeOut;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getSmtpUser;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isInitComplete;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.isMailAddReplyTo;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.isSmtpUseSsl;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.isSmtpUseTls;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -54,7 +55,6 @@ import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.util.ByteArrayDataSource;
-import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.basic.MailMessageDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
import org.apache.openmeetings.db.entity.basic.MailMessage.Status;
@@ -70,7 +70,7 @@ import org.springframework.stereotype.Component;
*
* @author swagner
*
- * For a documentation about Javax mail please see fro example:
+ * For a documentation about Javax mail please see for example:
* http://connector.sourceforge.net/doc-files/Properties.html
*
*/
@@ -81,44 +81,10 @@ public class MailHandler {
private static final int MAXIMUM_ERROR_COUNT = 5;
@Autowired
- private ConfigurationDao cfgDao;
- @Autowired
private TaskExecutor taskExecutor;
@Autowired
private MailMessageDao mailMessageDao;
- private String smtpServer;
- private int smtpPort;
- private String from;
- private String mailAuthUser;
- private String mailAuthPass;
- private boolean mailTls;
- private boolean mailAddReplyTo;
- private int smtpConnectionTimeOut;
- private int smtpTimeOut;
-
- private void init() {
- smtpServer = cfgDao.getString(CONFIG_SMTP_SERVER, null);
- smtpPort = cfgDao.getInt(CONFIG_SMTP_PORT, 25);
- from = cfgDao.getString(CONFIG_SMTP_SYSTEM_EMAIL, null);
- mailAuthUser = cfgDao.getString(CONFIG_SMTP_USER, null);
- mailAuthPass = cfgDao.getString(CONFIG_SMTP_PASS, null);
- mailTls = cfgDao.getBool(CONFIG_SMTP_TLS, false);
- mailAddReplyTo = cfgDao.getBool(CONFIG_REPLY_TO_ORGANIZER, true);
- smtpConnectionTimeOut = cfgDao.getInt(CONFIG_SMTP_TIMEOUT_CON, 30000);
- smtpTimeOut = cfgDao.getInt(CONFIG_SMTP_TIMEOUT, 30000);
- }
-
- public void init(String smtpServer, int smtpPort, String from, String mailAuthUser, String mailAuthPass, boolean mailTls, boolean mailAddReplyTo) {
- this.smtpServer = smtpServer;
- this.smtpPort = smtpPort;
- this.from = from;
- this.mailAuthUser = mailAuthUser;
- this.mailAuthPass = mailAuthPass;
- this.mailTls = mailTls;
- this.mailAddReplyTo = mailAddReplyTo;
- }
-
protected MimeMessage appendIcsBody(MimeMessage msg, MailMessage m) throws Exception {
log.debug("setMessageBody for iCal message");
// -- Create a new message --
@@ -167,31 +133,36 @@ public class MailHandler {
return msg;
}
+ // this method should be public for tests
public MimeMessage getBasicMimeMessage() throws Exception {
log.debug("getBasicMimeMessage");
- if (smtpServer == null) {
- init();
+ if (getSmtpServer() == null) {
+ throw new IllegalStateException("SMTP settings were not provided");
}
Properties props = new Properties(System.getProperties());
- props.put("mail.smtp.host", smtpServer);
- props.put("mail.smtp.port", smtpPort);
- if (mailTls) {
- props.put("mail.smtp.ssl.trust", smtpServer);
- props.put("mail.smtp.starttls.enable", "true");
+ props.put("mail.smtp.host", getSmtpServer());
+ props.put("mail.smtp.port", getSmtpPort());
+ if (isSmtpUseTls() || isSmtpUseSsl()) {
+ props.put("mail.smtp.ssl.trust", getSmtpServer());
+ }
+ if (isSmtpUseTls() && isSmtpUseSsl()) {
+ log.warn("Both SSL and TLS are enabled, TLS will be started");
}
- props.put("mail.smtp.connectiontimeout", smtpConnectionTimeOut);
- props.put("mail.smtp.timeout", smtpTimeOut);
+ props.put("mail.smtp.starttls.enable", isSmtpUseTls());
+ props.put("mail.smtp.ssl.enable", isSmtpUseSsl());
+ props.put("mail.smtp.connectiontimeout", getSmtpConnectionTimeOut());
+ props.put("mail.smtp.timeout", getSmtpTimeOut());
// Check for Authentication
Session session;
- if (!Strings.isEmpty(mailAuthUser) && !Strings.isEmpty(mailAuthPass)) {
+ if (!Strings.isEmpty(getSmtpUser()) && !Strings.isEmpty(getSmtpPass())) {
// use SMTP Authentication
- props.put("mail.smtp.auth", "true");
+ props.put("mail.smtp.auth", true);
session = Session.getDefaultInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(mailAuthUser, mailAuthPass);
+ return new PasswordAuthentication(getSmtpUser(), getSmtpPass());
}
});
} else {
@@ -201,7 +172,7 @@ public class MailHandler {
// Building MimeMessage
MimeMessage msg = new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));
+ msg.setFrom(new InternetAddress(getMailFrom()));
return msg;
}
@@ -211,7 +182,7 @@ public class MailHandler {
MimeMessage msg = getBasicMimeMessage();
msg.setSubject(m.getSubject(), UTF_8.name());
String replyTo = m.getReplyTo();
- if (replyTo != null && mailAddReplyTo) {
+ if (replyTo != null && isMailAddReplyTo()) {
log.debug("setReplyTo {}", replyTo);
if (MailUtil.isValid(replyTo)) {
msg.setReplyTo(new InternetAddress[]{new InternetAddress(replyTo)});
@@ -280,7 +251,6 @@ public class MailHandler {
}
public void sendMails() {
- init();
log.trace("sendMails enter ...");
List<MailMessage> list = mailMessageDao.get(0, 1, MailMessage.Status.NONE);
if (!list.isEmpty()) {
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/user/TestMailSending.java b/openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
similarity index 79%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/user/TestMailSending.java
rename to openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
index f4b7c30..1c91968 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/user/TestMailSending.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
@@ -16,8 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.user;
+package org.apache.openmeetings.core.mail;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setMailFrom;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpPass;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpPort;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpServer;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpUseTls;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpUser;
import static org.junit.jupiter.api.Assertions.assertTrue;
import javax.mail.Message;
@@ -25,7 +31,6 @@ import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
-import org.apache.openmeetings.core.mail.MailHandler;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,7 +70,12 @@ public class TestMailSending {
private MimeMessage getMimeMessage() throws Exception {
MailHandler h = new MailHandler();
- h.init(smtpServer, smtpPort, from, mailAuthUser, mailAuthPass, mailTls, true);
+ setSmtpServer(smtpServer);
+ setSmtpPort(smtpPort);
+ setSmtpUseTls(mailTls);
+ setSmtpUser(mailAuthUser);
+ setSmtpPass(mailAuthPass);
+ setMailFrom(from);
// Building MimeMessage
MimeMessage msg = h.getBasicMimeMessage();
msg.setSubject("getSubject()");
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 745029d..12e4818 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -20,100 +20,7 @@ package org.apache.openmeetings.db.dao.basic;
import static org.apache.commons.lang3.math.NumberUtils.toInt;
import static org.apache.openmeetings.db.util.DaoHelper.setLimits;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_AUTO_OPEN_SHARING;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CAM_FPS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CHAT_SEND_ON_ENTER;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_FONT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_FRAME;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_IMAGE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_MEDIA;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_SCRIPT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CSP_STYLE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_TIMEZONE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DISPLAY_NAME_EDITABLE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FNAME_MIN_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_GOOGLE_ANALYTICS_CODE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ARRANGE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ARRANGE_RESIZE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE_OTHERS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_QUICKPOLL;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LNAME_MIN_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MIC_ECHO;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MIC_NOISE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MIC_RATE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_BITRATE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_AUDIO_RATE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MP4_VIDEO_PRESET;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_OAUTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_SOAP;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REST_ALLOW_ORIGIN;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENABLED;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_EXTEN_CONTEXT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_BASE_URL;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_CSP_FONT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_CSP_IMAGE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_CSP_STYLE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_MAX_UPLOAD_SIZE;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_SIP_CONTEXT;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspFontSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspFrameSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspImageSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspMediaSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspScriptSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getCspStyleSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getGaCode;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getRoomSettings;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setAllowRegisterFrontend;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setAllowRegisterOauth;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setAllowRegisterSoap;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationName;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioBitrate;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioRate;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setChatSendOnEnter;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspFontSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspFrameSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspImageSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspMediaSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspScriptSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setCspStyleSrc;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultGroup;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultTimezone;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setDisplayNameEditable;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setGaCode;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMaxUploadSize;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMinFnameLength;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMinLnameLength;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMinLoginLength;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMinPasswdLength;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setMyRoomsEnabled;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setRestAllowOrigin;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setRoomSettings;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setSendRegisterEmail;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setSendVerificationEmail;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipContext;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipEnabled;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.setVideoPreset;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.*;
import static org.apache.wicket.csp.CSPDirectiveSrcValue.SELF;
import static org.apache.wicket.csp.CSPDirectiveSrcValue.STRICT_DYNAMIC;
@@ -429,6 +336,18 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
case CONFIG_CSP_STYLE:
updateCsp();
break;
+ case CONFIG_SMTP_SERVER:
+ case CONFIG_SMTP_PORT:
+ case CONFIG_SMTP_SYSTEM_EMAIL:
+ case CONFIG_SMTP_USER:
+ case CONFIG_SMTP_PASS:
+ case CONFIG_SMTP_TLS:
+ case CONFIG_SMTP_SSL:
+ case CONFIG_REPLY_TO_ORGANIZER:
+ case CONFIG_SMTP_TIMEOUT_CON:
+ case CONFIG_SMTP_TIMEOUT:
+ reloadMailSettings();
+ break;
}
return entity;
}
@@ -556,6 +475,18 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
setMyRoomsEnabled(getBool(CONFIG_MYROOMS_ENABLED, true));
}
+ private void reloadMailSettings() {
+ setSmtpServer(getString(CONFIG_SMTP_SERVER, null));
+ setSmtpPort(getInt(CONFIG_SMTP_PORT, 25));
+ setSmtpUser(getString(CONFIG_SMTP_USER, null));
+ setSmtpPass(getString(CONFIG_SMTP_PASS, null));
+ setSmtpUseTls(getBool(CONFIG_SMTP_TLS, false));
+ setSmtpTimeOut(getInt(CONFIG_SMTP_TIMEOUT, 30000));
+ setSmtpConnectionTimeOut(getInt(CONFIG_SMTP_TIMEOUT_CON, 30000));
+ setMailFrom(getString(CONFIG_SMTP_SYSTEM_EMAIL, null));
+ setMailAddReplyTo(getBool(CONFIG_REPLY_TO_ORGANIZER, true));
+ }
+
public void reinit() {
reloadMaxUpload();
reloadCrypt();
@@ -583,6 +514,7 @@ public class ConfigurationDao implements IDataProviderDao<Configuration> {
reloadSendRegisterEmail();
reloadDisplayNameEditable();
reloadMyRoomsEnabled();
+ reloadMailSettings();
updateCsp();
}
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index dec91d3..a148d35 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -93,6 +93,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ROOM
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_PASS;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_PORT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_SERVER;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_SSL;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_SYSTEM_EMAIL;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIMEOUT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SMTP_TIMEOUT_CON;
@@ -380,6 +381,7 @@ public class ImportInitvalues {
+ cspMore, STRICT_DYNAMIC), VER_5_0_0);
addCfg(list, CONFIG_CSP_STYLE, DEFAULT_CSP_STYLE, Configuration.Type.STRING, String.format("Value for 'style-src' directive of 'Content-Security-Policy' header (default: %s)"
+ cspMore, DEFAULT_CSP_STYLE), VER_5_0_0);
+ addCfg(list, CONFIG_SMTP_SSL, String.valueOf(false), Configuration.Type.BOOL, "Enable SSL", VER_5_0_0);
return list;
}
public void loadConfiguration(InstallationConfig cfg) {
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index beee700..5bfea3b 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -66,6 +66,7 @@ public class OpenmeetingsVariables {
public static final String CONFIG_SMTP_PASS = "mail.smtp.pass";
public static final String CONFIG_SMTP_SYSTEM_EMAIL = "mail.smtp.system.email";
public static final String CONFIG_SMTP_TLS = "mail.smtp.starttls.enable";
+ public static final String CONFIG_SMTP_SSL = "mail.smtp.ssl.enable";
public static final String CONFIG_SMTP_TIMEOUT_CON = "mail.smtp.connection.timeout";
public static final String CONFIG_SMTP_TIMEOUT = "mail.smtp.timeout";
public static final String CONFIG_PATH_IMAGEMAGIC = "path.imagemagick";
@@ -156,6 +157,16 @@ public class OpenmeetingsVariables {
private static String cspMediaSrc = SELF.getValue();
private static String cspScriptSrc = STRICT_DYNAMIC.getValue();
private static String cspStyleSrc = DEFAULT_CSP_STYLE;
+ private static String smtpServer;
+ private static int smtpPort;
+ private static boolean smtpUseTls;
+ private static boolean smtpUseSsl;
+ private static String smtpUser;
+ private static String smtpPass;
+ private static int smtpTimeOut;
+ private static int smtpConnectionTimeOut;
+ private static String mailFrom;
+ private static boolean mailAddReplyTo;
private OpenmeetingsVariables() {}
@@ -458,4 +469,85 @@ public class OpenmeetingsVariables {
public static void setCspStyleSrc(String src) {
cspStyleSrc = src;
}
+
+
+ public static String getSmtpServer() {
+ return smtpServer;
+ }
+
+ public static void setSmtpServer(String server) {
+ smtpServer = server;
+ }
+
+ public static int getSmtpPort() {
+ return smtpPort;
+ }
+
+ public static void setSmtpPort(int port) {
+ smtpPort = port;
+ }
+
+ public static boolean isSmtpUseTls() {
+ return smtpUseTls;
+ }
+
+ public static void setSmtpUseTls(boolean useTls) {
+ smtpUseTls = useTls;
+ }
+
+ public static boolean isSmtpUseSsl() {
+ return smtpUseSsl;
+ }
+
+ public static void setSmtpUseSsl(boolean useSsl) {
+ smtpUseSsl = useSsl;
+ }
+
+ public static String getSmtpUser() {
+ return smtpUser;
+ }
+
+ public static void setSmtpUser(String user) {
+ smtpUser = user;
+ }
+
+ public static String getSmtpPass() {
+ return smtpPass;
+ }
+
+ public static void setSmtpPass(String pass) {
+ smtpPass = pass;
+ }
+
+ public static int getSmtpTimeOut() {
+ return smtpTimeOut;
+ }
+
+ public static void setSmtpTimeOut(int timeOut) {
+ smtpTimeOut = timeOut;
+ }
+
+ public static int getSmtpConnectionTimeOut() {
+ return smtpConnectionTimeOut;
+ }
+
+ public static void setSmtpConnectionTimeOut(int timeOut) {
+ smtpConnectionTimeOut = timeOut;
+ }
+
+ public static String getMailFrom() {
+ return mailFrom;
+ }
+
+ public static void setMailFrom(String from) {
+ mailFrom = from;
+ }
+
+ public static boolean isMailAddReplyTo() {
+ return mailAddReplyTo;
+ }
+
+ public static void setMailAddReplyTo(boolean addReplyTo) {
+ mailAddReplyTo = addReplyTo;
+ }
}