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";