first created EMAIL-153:
---------------------------

             Summary: Email with ltd test give garbage value
                 Key: EMAIL-153
                 URL: https://issues.apache.org/jira/browse/EMAIL-153
             Project: Commons Email
          Issue Type: Bug
            Reporter: first
            Priority: Blocker




Reporting for the first time.Please let me know if I missed anything.

When I send an email with code :

private JavaMailSender mailSender;

mailSender.send(new MimeMessagePreparator() {
                                        @Override
                                        public void prepare(MimeMessage 
mimeMessage) throws MessagingException {
                                                try{
                                                        MimeMessageHelper 
mailMessage = new MimeMessageHelper(mimeMessage, true, "UTF-8");
                                                        
mailMessage.setFrom(from);
                                                        
mailMessage.setSubject(subject);
                                                        mailMessage.setTo(to);
                                                        if(cc!=null)
                                                                
mailMessage.setCc(cc);
                                                        
                                                        
if(fileAttachments!=null && !fileAttachments.isEmpty()){
                                                                for (final 
CpsFileAttachment fileAttachment : fileAttachments) {
                                                                        
AbstractResource contentsAsResource = new 
ByteArrayResource(Base64.decode(fileAttachment.getFileData().split(",")[1])){
                                                                                
@Override
                                                                                
public String getFilename(){
                                                                                
 return fileAttachment.getFileName();
                                                                                
}
                                                                        };
                                                                        
mailMessage.addAttachment(fileAttachment.getFileName(), contentsAsResource);
                                                                }
                                                        }
                                                        
                                                        if(logos!=null && 
!logos.isEmpty())
                                                                
getBodyWithLogos(mailMessage,logos, body);
                                                }catch(Exception e){
                                                        _logger.error("Error in 
prepare(..)",e);
                                                }
                                        }
        
                                                private void 
getBodyWithLogos(MimeMessageHelper mailMessage,List<CpsLogo> logos,String body) 
throws MessagingException {
                                                        
CPSEmailConfigLogoPositionEnum position = logos.get(0).getLogoPosition();
                                                        StringBuffer images = 
new StringBuffer();
                                                        switch (position) {
                                                                case TOP_RIGHT:
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
images.append("<img src='cid:"+logo.getLogoName()+"' 
alt='"+logo.getLogoName()+"' align='right'>");
                                                                                
                                                                        
mailMessage.setText(images.toString()+"<br/>"+body, true);
                                                                        
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
attachInline(logo,mailMessage);
                                                                        
                                                                        break;
                                                                case TOP_LEFT:
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
images.append("<img src='cid:"+logo.getLogoName()+"' 
alt='"+logo.getLogoName()+"' align='left'>");
                                                                        
                                                                        
mailMessage.setText(images.toString()+"<br/>"+body, true);
                                                                        
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
attachInline(logo,mailMessage);
                                                                        
                                                                        break;
                                                                case 
BOTTOM_LEFT:
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
images.append("<img src='cid:"+logo.getLogoName()+"' 
alt='"+logo.getLogoName()+"' align='left'>");
                                                                        
                                                                        
mailMessage.setText(body+"<br/>"+images.toString(), true);
                                                                        
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
attachInline(logo,mailMessage);
                                                                        
                                                                        break;
                                                                case 
BOTTOM_RIGHT:
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
images.append("<img src='cid:"+logo.getLogoName()+"' 
alt='"+logo.getLogoName()+"' align='right'>");

                                                                        
mailMessage.setText(body+"<br/>"+images.toString(), true);
                                                                        
                                                                        for 
(final CpsLogo logo : logos) 
                                                                                
attachInline(logo,mailMessage);
                                                                        
                                                                        break;
                                                        default:
                                                                break;
                                                        }
                                                }
        
                                                private void attachInline(final 
CpsLogo logo,MimeMessageHelper mailMessage) throws MessagingException {
                                                        AbstractResource 
contentsAsResource = new 
ByteArrayResource(Base64.decode(logo.getLogoImg().split(",")[1])){
                                                                @Override
                                                                public String 
getFilename(){
                                                                        return 
logo.getLogoName();
                                                                }
                                                        };
                                                        
mailMessage.addInline(logo.getLogoName(),contentsAsResource);
                                        }
                                                
                        });
                }catch(Exception ex){
                        _logger.error("Error occured while sending mail. Error 
: "+ex.getMessage());
                }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to