You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "first (JIRA)" <ji...@apache.org> on 2015/04/29 20:50:07 UTC
[jira] [Created] (EMAIL-153) Email with ltd test give garbage value
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)