mailElem.setAttribute(MAIL_SENDERCODE_ATTR, config.getSenderCode());
mailElem.setAttribute(MAIL_MAILATTRNAME_ATTR, config.getMailAttrName());
mailElem.setAttribute(MAIL_UNSUBSCRIPTIONPAGE_ATTR, config.getUnsubscriptionPageCode());
Element subject = new Element(MAIL_SUBJECT_CHILD);
subject.addContent(new CDATA(config.getSubject()));
mailElem.addContent(subject);
Element htmlHeader = new Element(MAIL_HTML_HEADER_CHILD);
htmlHeader.addContent(new CDATA(config.getHtmlHeader()));
mailElem.addContent(htmlHeader);
Element htmlFooter = new Element(MAIL_HTML_FOOTER_CHILD);
htmlFooter.addContent(new CDATA(config.getHtmlFooter()));
mailElem.addContent(htmlFooter);
Element htmlSeparator = new Element(MAIL_HTML_SEPARATOR_CHILD);
htmlSeparator.addContent(new CDATA(config.getHtmlSeparator()));
mailElem.addContent(htmlSeparator);
Element textHeader = new Element(MAIL_TEXT_HEADER_CHILD);
textHeader.addContent(new CDATA(config.getTextHeader()));
mailElem.addContent(textHeader);
Element textFooter = new Element(MAIL_TEXT_FOOTER_CHILD);
textFooter.addContent(new CDATA(config.getTextFooter()));
mailElem.addContent(textFooter);
Element textSeparator = new Element(MAIL_TEXT_SEPARATOR_CHILD);
textSeparator.addContent(new CDATA(config.getTextSeparator()));
mailElem.addContent(textSeparator);
Element subscribersHtmlFooter = new Element(MAIL_SUBSCRIBER_HTML_FOOTER_CHILD);
subscribersHtmlFooter.addContent(new CDATA(config.getSubscribersHtmlFooter()));
mailElem.addContent(subscribersHtmlFooter);
Element subscribersTextFooter = new Element(MAIL_SUBSCRIBER_TEXT_FOOTER_CHILD);
subscribersTextFooter.addContent(new CDATA(config.getSubscribersTextFooter()));
mailElem.addContent(subscribersTextFooter);
Element subscriptionElem = new Element(MAIL_SUBSCRIPTION_CHILD);
subscriptionElem.setAttribute(MAIL_SUBSCRIPTION_PAGECODE_ATTR, config.getSubscriptionPageCode());
subscriptionElem.setAttribute(MAIL_SUBSCRIPTION_TOKENVALIDITY_ATTR, String.valueOf(config.getSubscriptionTokenValidityDays()));
Element subscriptionSubject = new Element(MAIL_SUBSCRIPTION_SUBJECT_CHILD);
subscriptionSubject.addContent(new CDATA(config.getSubscriptionSubject()));
subscriptionElem.addContent(subscriptionSubject);
Element subscriptionTextBody = new Element(MAIL_SUBSCRIPTION_HTML_CHILD);
subscriptionTextBody.addContent(new CDATA(config.getSubscriptionHtmlBody()));
subscriptionElem.addContent(subscriptionTextBody);
Element subscriptionHtmlBody = new Element(MAIL_SUBSCRIPTION_TEXT_CHILD);
subscriptionHtmlBody.addContent(new CDATA(config.getSubscriptionTextBody()));
subscriptionElem.addContent(subscriptionHtmlBody);
mailElem.addContent(subscriptionElem);
return mailElem;
}