[MAGNOLIA-2650] <cmsu:simpleMail -> Couln't instantiate email type: null Created: 08/Mar/09  Updated: 23/Jan/13  Resolved: 03/Jun/09

Status: Closed
Project: Magnolia
Component/s: taglibs
Affects Version/s: 4.0
Fix Version/s: 4.1, 4.0.2

Type: Bug Priority: Major
Reporter: Tom Wespi Assignee: Teresa Miyar
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File stacktrace.txt    
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Insert in a jspx:
<cmsu:simpleMail
subject="test"
to="tom.wespi@esense.ch"
from="tom@esense.ch"
type="simple"
/>

Stacktrace attached



 Comments   
Comment by Philipp Bracher [ 09/Mar/09 ]

Hi can you test the following patch?

Index: src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java
===================================================================
--- src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java	(revision 23131)
+++ src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java	(working copy)
@@ -295,7 +295,7 @@
             Map parameters = new HashMap(request.getParameterMap());
             // TODO: avoid those kinds of redundacies in the mail system
             if (StringUtils.isEmpty(template)) {
-                email = MailModule.getInstance().getFactory().getEmail(parameters);
+                email = MailModule.getInstance().getFactory().getEmailFromType(parameters, mailType);
                 email.setBody();
             }
             else {

Comment by Tom Wespi [ 09/Mar/09 ]

here is a working patch

### Eclipse Workspace Patch 1.0
#P magnolia-taglib-utility
Index: src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java
===================================================================
--- src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java	(revision 23312)
+++ src/main/java/info/magnolia/cms/taglibs/util/SimpleMailTag.java	(working copy)
@@ -227,7 +227,7 @@
      * @see javax.servlet.jsp.tagext.TagSupport#doEndTag()
      */
     public int doEndTag() throws JspException {
-
+    	    	
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
 
         StringBuffer body = new StringBuffer(); // build and send email
@@ -262,22 +262,24 @@
         while (it.hasNext()) {
             Content node = (Content) it.next();
             String[] values = request.getParameterValues("field_" + node.getName());
+                        
             if (values == null) {
                 values = request.getParameterValues(node.getName());
             }
+            
             if (values != null) {
-                body.append(node.getNodeData("title").getString()).append('\n');
+                body.append("<b>" + node.getNodeData("title").getString() + "</b>").append("<br/>");
                 mailTitles.append(excelCSVFormat(node.getNodeData("title").getString())).append(';');
                 StringBuffer csvValue = new StringBuffer();
                 for (int i = 0; i < values.length; i++) {
-                    body.append(values[i]).append('\n');
+                    body.append(values[i]).append("<br/>");
                     csvValue.append(values[i]);
                     if (i < values.length - 1) {
                         csvValue.append('\n');
                     }
                 }
                 mailValues.append(excelCSVFormat(csvValue.toString())).append(';');
-                body.append("\n");
+                body.append("<br/>");
             }
         }
 
@@ -295,20 +297,22 @@
             Map parameters = new HashMap(request.getParameterMap());
             // TODO: avoid those kinds of redundacies in the mail system
             if (StringUtils.isEmpty(template)) {
-                email = MailModule.getInstance().getFactory().getEmail(parameters);
-                email.setBody();
+                email = MailModule.getInstance().getFactory().getEmailFromType(parameters, mailType);
+                email.setBody(body.toString());
             }
             else {
                 parameters.put("all", body.toString());
                 email = MailModule.getInstance().getFactory().getEmailFromTemplate(template, parameters);
                 email.setBodyFromResourceFile();
             }
-          /*  email.setToList(to);
+            
+            email.setToList(to);
             email.setCcList(cc);
             email.setBccList(bcc);
             email.setReplyToList(replyTo);
             email.setFrom(from);
-            email.setSubject(subject);*/
+            email.setSubject(subject);
+            
             MailModule.getInstance().getFactory().getEmailHandler().sendMail(email);
         }
         catch (Exception e) {
Comment by Magnolia International [ 29/May/09 ]

Doesn't this need to be applied on the 4.0 branch too ?

Generated at Mon Feb 12 03:38:46 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.