Author: solomax
Date: Fri Mar  1 10:39:05 2013
New Revision: 1451560

URL: http://svn.apache.org/r1451560
Log:
[OPENMEETINGS-327] MimeMessage cloning is removed

Modified:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java?rev=1451560&r1=1451559&r2=1451560&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
 Fri Mar  1 10:39:05 2013
@@ -65,7 +65,28 @@ public class MailHandler {
        private TaskExecutor taskExecutor;
        @Autowired
        private MailMessageDao mailMessageDao;
-
+       private String smtpServer;
+       private String smtpPort;
+       private String from;
+       private String mailAuthUser;
+       private String mailAuthPass;
+       private boolean mailTls;
+       private boolean mailAddReplyTo;
+
+       public MailHandler() {
+               init();
+       }
+       
+       private void init() {
+               smtpServer = cfgDao.getConfValue("smtp_server", String.class, 
null);
+               smtpPort = cfgDao.getConfValue("smtp_port", String.class, "25");
+               from = cfgDao.getConfValue("system_email_addr", String.class, 
null);
+               mailAuthUser = cfgDao.getConfValue("email_username", 
String.class, null);
+               mailAuthPass = cfgDao.getConfValue("email_userpass", 
String.class, null);
+               mailTls = 
"1".equals(cfgDao.getConfValue("mail.smtp.starttls.enable", String.class, "0"));
+               mailAddReplyTo = 
"1".equals(cfgDao.getConfValue("inviter.email.as.replyto", String.class, "1"));
+       }
+       
        protected MimeMessage appendIcsBody(MimeMessage msg, MailMessage m) 
throws Exception {
                log.debug("setMessageBody for iCal message");
                // -- Create a new message --
@@ -113,19 +134,12 @@ public class MailHandler {
        private MimeMessage getBasicMimeMessage() throws Exception {
                log.debug("getBasicMimeMessage");
 
-               // Evaluating Configuration Data
-               String smtpServer = cfgDao.getConfValue("smtp_server", 
String.class, null);
-               String smtpPort = cfgDao.getConfValue("smtp_port", 
String.class, "25");
-               String from = cfgDao.getConfValue("system_email_addr", 
String.class, null);
-               String mailAuthUser = cfgDao.getConfValue("email_username", 
String.class, null);
-               String mailAuthPass = cfgDao.getConfValue("email_userpass", 
String.class, null);
-
                Properties props = System.getProperties();
 
                props.put("mail.smtp.host", smtpServer);
                props.put("mail.smtp.port", smtpPort);
 
-               if ("1".equals(cfgDao.getConfValue("mail.smtp.starttls.enable", 
String.class, "0"))) {
+               if (mailTls) {
                        props.put("mail.smtp.starttls.enable", "true");
                }
 
@@ -147,13 +161,13 @@ public class MailHandler {
                return msg;
        }
        
-       private MimeMessage getMimeMessage(MimeMessage base, MailMessage m) 
throws Exception {
+       private MimeMessage getMimeMessage(MailMessage m) throws Exception {
                log.debug("getMimeMessage");
                // Building MimeMessage
-               MimeMessage msg = base == null ? getBasicMimeMessage() : new 
MimeMessage(base);
+               MimeMessage msg = getBasicMimeMessage();
                msg.setSubject(m.getSubject());
                String replyTo = m.getReplyTo();
-               if (replyTo != null && 
"1".equals(cfgDao.getConfValue("inviter.email.as.replyto", String.class, "1"))) 
{
+               if (replyTo != null && mailAddReplyTo) {
                        log.debug("setReplyTo " + replyTo);
                        if (MailUtil.matches(replyTo)) {
                                msg.setReplyTo(new InternetAddress[]{new 
InternetAddress(replyTo)});
@@ -177,10 +191,6 @@ public class MailHandler {
        }
        
        public void send(final MailMessage m, boolean send) {
-               send(null, m, send);
-       }
-       
-       public void send(final MimeMessage base, final MailMessage m, boolean 
send) {
                if (send) {
                        if (m.getId() != 0) {
                                m.setStatus(Status.SENDING);
@@ -194,7 +204,7 @@ public class MailHandler {
 
                                        // -- Send the message --
                                        try {
-                                               
Transport.send(getMimeMessage(base, m));
+                                               
Transport.send(getMimeMessage(m));
                                                m.setStatus(Status.DONE);
                                        } catch (Exception e) {
                                                log.error("Error while sending 
message", e);
@@ -221,11 +231,11 @@ public class MailHandler {
        }
        
        public void sendMails() throws Exception {
-               MimeMessage base = getBasicMimeMessage();
+               init();
                log.debug("sendMails enter ...");
                List<MailMessage> list = mailMessageDao.get(0, 1);
                while (!list.isEmpty()) {
-                       send(base, list.get(0), true);
+                       send(list.get(0), true);
                        list = mailMessageDao.get(0, 1);
                }
                log.debug("... sendMails done.");


Reply via email to