Index: lams_admin/web/config/editconfig.jsp
===================================================================
diff -u -r7b9b1931a178ac9bac070531b53731383df0a187 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_admin/web/config/editconfig.jsp (.../editconfig.jsp) (revision 7b9b1931a178ac9bac070531b53731383df0a187)
+++ lams_admin/web/config/editconfig.jsp (.../editconfig.jsp) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -2,6 +2,35 @@
<%@ page import="org.lamsfoundation.lams.config.ConfigurationItem" %>
<%@ include file="/taglibs.jsp"%>
+
+
+
+
Index: lams_build/3rdParty.userlibraries
===================================================================
diff -u -rab19db088359a46353cc92e806c40ff5cff818b9 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_build/3rdParty.userlibraries (.../3rdParty.userlibraries) (revision ab19db088359a46353cc92e806c40ff5cff818b9)
+++ lams_build/3rdParty.userlibraries (.../3rdParty.userlibraries) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -1,6 +1,7 @@
+
Index: lams_build/build.xml
===================================================================
diff -u -rab19db088359a46353cc92e806c40ff5cff818b9 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_build/build.xml (.../build.xml) (revision ab19db088359a46353cc92e806c40ff5cff818b9)
+++ lams_build/build.xml (.../build.xml) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -113,6 +113,7 @@
+
Index: lams_build/lib/aspirin/activation-1.1.1.jar
===================================================================
diff -u
Binary files differ
Index: lams_build/lib/aspirin/aspirin.jar
===================================================================
diff -u
Binary files differ
Index: lams_build/lib/aspirin/commons-pool-1.5.1.jar
===================================================================
diff -u
Binary files differ
Index: lams_build/lib/aspirin/dnsjava-2.0.6.jar
===================================================================
diff -u
Binary files differ
Index: lams_build/lib/aspirin/src/aspirin-src.zip
===================================================================
diff -u
Binary files differ
Index: lams_build/liblist.txt
===================================================================
diff -u -r3cae36fc3c73c4ce595adc48b7ef2f8ac166daaf -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_build/liblist.txt (.../liblist.txt) (revision 3cae36fc3c73c4ce595adc48b7ef2f8ac166daaf)
+++ lams_build/liblist.txt (.../liblist.txt) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -2,6 +2,11 @@
Folder Library Version License Vendor Description
+aspirin activation-1.1.1.jar
+ aspirin.jar 0.8.03 Apache 1.1 license embeddable send-only SMTP server
+ commons-pool-1.5.1.jar
+ dnsjava-2.0.6.jar
+
axis axis-ant.jar
axis.jar
jaxrpc.jar
Index: lams_central/src/java/org/lamsfoundation/lams/util/Emailer.java
===================================================================
diff -u -r3b1c6836dcfb5f9b80c9284d1815139d1fc08b30 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_central/src/java/org/lamsfoundation/lams/util/Emailer.java (.../Emailer.java) (revision 3b1c6836dcfb5f9b80c9284d1815139d1fc08b30)
+++ lams_central/src/java/org/lamsfoundation/lams/util/Emailer.java (.../Emailer.java) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -13,6 +13,7 @@
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
+import org.masukomi.aspirin.core.MailQue;
/**
* A class that handles emails
@@ -37,9 +38,14 @@
public static void sendFromSupportEmail(String subject, String to, String body) throws AddressException,
MessagingException {
String supportEmail = Configuration.get(ConfigurationKeys.LAMS_ADMIN_EMAIL);
- String smtpServer = Configuration.get(ConfigurationKeys.SMTP_SERVER);
+ boolean useInternalSMTPServer = Boolean.parseBoolean(Configuration.get(ConfigurationKeys.USE_INTERNAL_SMTP_SERVER));
Properties properties = new Properties();
- properties.put("mail.smtp.host", smtpServer);
+
+ if (! useInternalSMTPServer) {
+ String smtpServer = Configuration.get(ConfigurationKeys.SMTP_SERVER);
+ properties.put("mail.smtp.host", smtpServer);
+ }
+
send(subject, to, supportEmail, body, properties);
}
@@ -52,9 +58,10 @@
*/
public static Session getMailSession(Properties properties) {
Session session;
+ boolean useInternalSMTPServer = Boolean.parseBoolean(Configuration.get(ConfigurationKeys.USE_INTERNAL_SMTP_SERVER));
String smtpAuthUser = Configuration.get(ConfigurationKeys.SMTP_AUTH_USER);
String smtpAuthPass = Configuration.get(ConfigurationKeys.SMTP_AUTH_PASSWORD);
- if (smtpAuthUser != null && !smtpAuthUser.trim().equals("")) {
+ if (!useInternalSMTPServer && (smtpAuthUser != null) && !smtpAuthUser.trim().equals("")) {
properties.setProperty("mail.smtp.submitter", smtpAuthUser);
properties.setProperty("mail.smtp.auth", "true");
@@ -87,7 +94,15 @@
message.addRecipient(RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(body);
- Transport.send(message);
+
+ boolean useInternalSMTPServer = Boolean.parseBoolean(Configuration.get(ConfigurationKeys.USE_INTERNAL_SMTP_SERVER));
+ if (useInternalSMTPServer) {
+ MailQue myMailQue = new MailQue();
+ myMailQue.queMail(message);
+ } else {
+ Transport.send(message);
+ }
+
}
}
Index: lams_common/db/sql/insert_lams_unix_config_data.sql
===================================================================
diff -u -r6a414b5f0f7756f0376670914c59c84b9ae916ef -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/db/sql/insert_lams_unix_config_data.sql (.../insert_lams_unix_config_data.sql) (revision 6a414b5f0f7756f0376670914c59c84b9ae916ef)
+++ lams_common/db/sql/insert_lams_unix_config_data.sql (.../insert_lams_unix_config_data.sql) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -17,6 +17,9 @@
values ('EARDir','/usr/local/jboss-5/server/default/deploy/lams.ear/', 'config.ear.dir', 'config.header.system', 'STRING', 1);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
+values ('InternalSMTPServer','true', 'config.use.internal.smtp.server', 'config.header.email', 'BOOLEAN', 0);
+
+insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
values ('SMTPServer','', 'config.smtp.server', 'config.header.email', 'STRING', 0);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
Index: lams_common/db/sql/insert_lams_windows_config_data.sql
===================================================================
diff -u -r6a414b5f0f7756f0376670914c59c84b9ae916ef -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/db/sql/insert_lams_windows_config_data.sql (.../insert_lams_windows_config_data.sql) (revision 6a414b5f0f7756f0376670914c59c84b9ae916ef)
+++ lams_common/db/sql/insert_lams_windows_config_data.sql (.../insert_lams_windows_config_data.sql) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -17,6 +17,9 @@
values ('EARDir','D:/jboss-5/server/default/deploy/lams.ear', 'config.ear.dir', 'config.header.system', 'STRING', 1);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
+values ('InternalSMTPServer','true', 'config.use.internal.smtp.server', 'config.header.email', 'BOOLEAN', 0);
+
+insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
values ('SMTPServer','', 'config.smtp.server', 'config.header.email', 'STRING', 0);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
Index: lams_common/db/sql/insert_rams_unix_config_data.sql
===================================================================
diff -u -r2f21856ec2ab85b47c93cfcc3fa2c8769be65077 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/db/sql/insert_rams_unix_config_data.sql (.../insert_rams_unix_config_data.sql) (revision 2f21856ec2ab85b47c93cfcc3fa2c8769be65077)
+++ lams_common/db/sql/insert_rams_unix_config_data.sql (.../insert_rams_unix_config_data.sql) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -17,6 +17,9 @@
values ('EARDir','/usr/local/jboss-5/server/default/deploy/rams.ear', 'config.ear.dir', 'config.header.system', 'STRING', 1);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
+values ('InternalSMTPServer','true', 'config.use.internal.smtp.server', 'config.header.email', 'BOOLEAN', 0);
+
+insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
values ('SMTPServer','', 'config.smtp.server', 'config.header.email', 'STRING', 0);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
Index: lams_common/db/sql/insert_rams_windows_config_data.sql
===================================================================
diff -u -r2f21856ec2ab85b47c93cfcc3fa2c8769be65077 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/db/sql/insert_rams_windows_config_data.sql (.../insert_rams_windows_config_data.sql) (revision 2f21856ec2ab85b47c93cfcc3fa2c8769be65077)
+++ lams_common/db/sql/insert_rams_windows_config_data.sql (.../insert_rams_windows_config_data.sql) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -17,6 +17,9 @@
values ('EARDir','C:/jboss-5/server/default/deploy/rams.ear', 'config.ear.dir', 'config.header.system', 'STRING', 1);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
+values ('InternalSMTPServer','true', 'config.use.internal.smtp.server', 'config.header.email', 'BOOLEAN', 0);
+
+insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
values ('SMTPServer','', 'config.smtp.server', 'config.header.email', 'STRING', 0);
insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
Index: lams_common/db/sql/insert_types_data.sql
===================================================================
diff -u -rab19db088359a46353cc92e806c40ff5cff818b9 -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision ab19db088359a46353cc92e806c40ff5cff818b9)
+++ lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -317,4 +317,4 @@
INSERT INTO lams_openid_config(config_key, config_value) values ("trustedIDPs", "");
-- initialise db version
-INSERT INTO patches VALUES ('lams', 02040004, NOW(), 'F');
+INSERT INTO patches VALUES ('lams', 02040005, NOW(), 'F');
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040005.sql
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040005.sql (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040005.sql (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -0,0 +1,8 @@
+SET AUTOCOMMIT = 0;
+
+-- LDEV-2509 Adding configuration setting for Embedded SMTP server
+insert into lams_configuration (config_key, config_value, description_key, header_name, format, required)
+values ('InternalSMTPServer','true', 'config.use.internal.smtp.server', 'config.header.email', 'BOOLEAN', 0);
+
+COMMIT;
+SET AUTOCOMMIT = 1;
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java
===================================================================
diff -u -r6a414b5f0f7756f0376670914c59c84b9ae916ef -r7c06d9adee78c99dd6151735c95016f1e0b0f360
--- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 6a414b5f0f7756f0376670914c59c84b9ae916ef)
+++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 7c06d9adee78c99dd6151735c95016f1e0b0f360)
@@ -48,6 +48,8 @@
public static String LAMS_EAR_DIR = "EARDir";
public static String SMTP_SERVER = "SMTPServer";
+
+ public static String USE_INTERNAL_SMTP_SERVER = "InternalSMTPServer";
public static String LAMS_ADMIN_EMAIL = "LamsSupportEmail";