Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
In directory
james.mmbase.org:/tmp/cvs-serv7279/portlets-newsletter/src/java/com/finalist/newsletter/publisher
Modified Files:
NewsletterPublisher.java
Log Message:
CMSC-1305 Newsletter: add link to send email inside plain-text section
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
See also: http://www.mmbase.org/jira/browse/CMSC-1305
Index: NewsletterPublisher.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/NewsletterPublisher.java,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- NewsletterPublisher.java 24 Feb 2009 05:19:37 -0000 1.50
+++ NewsletterPublisher.java 3 Mar 2009 08:46:30 -0000 1.51
@@ -64,24 +64,20 @@
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node newsletterEditionNode = cloud.getNode(publication.getId());
// if needed to prompt user this validate will be remove to Action
- String url = NewsletterUtil.getTermURL(publication.getUrl(),
subscription.getTerms(), publication.getId());
String originalBody = "";
- if("text/plain".equals(subscription.getMimeType())){
- originalBody += url+"\n";
- }
- String static_html = "";
+ String static_html = null;
if (newsletterEditionNode.getValueWithoutProcess("static_html") !=
null)
static_html =
(String)newsletterEditionNode.getValueWithoutProcess("static_html");
if (StringUtils.isEmpty(static_html)) {
- originalBody += getBody(publication, subscription);
+ originalBody = getBody(publication, subscription);
}
else {
if("text/plain".equals(subscription.getMimeType())){
OnlyText onlyText = new OnlyText();
- originalBody += onlyText.html2Text(static_html);
+ originalBody = onlyText.html2Text(static_html);
}
else {
- originalBody += static_html;
+ originalBody = static_html;
}
}
@@ -117,7 +113,12 @@
Node newsletterPublicationNode = cloud.getNode(publication.getId());
NodeList attachmentNodes =
newsletterPublicationNode.getRelatedNodes("attachments");
Multipart multipart = new MimeMultipart();
+ if("text/plain".equals(subscription.getMimeType())){
setBody(publication, subscription, multipart,originalBody);
+ }
+ else {
+ setMultipartBody(publication, subscription, multipart,originalBody);
+ }
setAttachment(multipart, attachmentNodes, MimeType.attachment);
NodeList imageNodes =
newsletterPublicationNode.getRelatedNodes("images");
setAttachment(multipart, imageNodes, MimeType.image);
@@ -142,6 +143,31 @@
}
}
+ private void setMultipartBody(Publication publication, Subscription
subscription, Multipart multipart,String originalBody) {
+ MimeBodyPart mdp = new MimeBodyPart();
+ Multipart subMultipart = new MimeMultipart("alternative");
+ MimeBodyPart textMdp = new MimeBodyPart();
+ MimeBodyPart htmlMdp = new MimeBodyPart();
+ try {
+
+ String url = NewsletterUtil.getTermURL(publication.getUrl(),
subscription.getTerms(), publication.getId());
+ textMdp.setText(url);
+ subMultipart.addBodyPart(textMdp);
+
+ String type=subscription.getMimeType();
+ htmlMdp.addHeader("Content-Transfer-Encoding", "quoted-printable");
+ htmlMdp.setContent(originalBody, type+";charset=utf-8");
+ subMultipart.addBodyPart(htmlMdp);
+
+ mdp.setContent(subMultipart);
+
+ multipart.addBodyPart(mdp);
+ }
+ catch (MessagingException e) {
+ log.error(e);
+ }
+ }
+
private void setAttachment(Multipart multipart, NodeList attachmentNodes,
MimeType mimeType) {
if (attachmentNodes.size() > 0) {
@@ -294,8 +320,8 @@
}
return session;
}
-
private static String getParameter(String name) {
+
Module sendmailModule = Module.getModule("sendmail");
if (sendmailModule == null) {
log
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs