String fromAddress = handleFromAddress(abandonedShoppingCartEmailBean.getFromAddress(), locale);
String fromName = handleFromName(abandonedShoppingCartEmailBean.getFromName(), locale);
String toEmail = customer.getEmail();
MimeMessagePreparatorImpl mimeMessagePreparator = getMimeMessagePreparator(requestData, Email.EMAIl_TYPE_ABANDONED_SHOPPING_CART, model);
mimeMessagePreparator.setTo(toEmail);
mimeMessagePreparator.setFrom(fromAddress);
mimeMessagePreparator.setFromName(fromName);
mimeMessagePreparator.setReplyTo(fromAddress);
Object[] parameters = {customer.getLastname(), customer.getFirstname()};
mimeMessagePreparator.setSubject(coreMessageSource.getMessage("email.abandoned_shopping_cart.email_subject", parameters, locale));
mimeMessagePreparator.setHtmlContent(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, velocityPath + "abandoned-shopping-cart-html-content.vm", model));
mimeMessagePreparator.setPlainTextContent(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, velocityPath + "abandoned-shopping-cart-text-content.vm", model));
Email email = new Email();
email.setType(Email.EMAIl_TYPE_ABANDONED_SHOPPING_CART);
email.setStatus(Email.EMAIl_STATUS_PENDING);
saveOrUpdateEmail(email, mimeMessagePreparator);