Update of /var/cvs/applications/email/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv17800
Modified Files:
VerifyEmailProcessor.java
Log Message:
send decent html
See also:
http://cvs.mmbase.org/viewcvs/applications/email/src/org/mmbase/datatypes
Index: VerifyEmailProcessor.java
===================================================================
RCS file:
/var/cvs/applications/email/src/org/mmbase/datatypes/VerifyEmailProcessor.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- VerifyEmailProcessor.java 3 Feb 2008 17:45:39 -0000 1.6
+++ VerifyEmailProcessor.java 12 Jun 2008 15:07:52 -0000 1.7
@@ -15,7 +15,7 @@
import org.mmbase.storage.search.*;
import org.mmbase.util.functions.*;
import org.mmbase.util.*;
-import org.mmbase.util.transformers.Base64;
+import org.mmbase.util.transformers.*;
import org.mmbase.datatypes.processors.*;
import javax.mail.internet.*;
import java.util.*;
@@ -39,7 +39,7 @@
*
*
* @author Michiel Meeuwissen
- * @version $Id: VerifyEmailProcessor.java,v 1.6 2008/02/03 17:45:39 nklasens
Exp $
+ * @version $Id: VerifyEmailProcessor.java,v 1.7 2008/06/12 15:07:52 michiel
Exp $
*/
@@ -211,12 +211,20 @@
return false;
}
+ private static CharTransformer stripper;
+ static {
+ TagStripperFactory fac = new TagStripperFactory();
+ stripper = (CharTransformer)
fac.createTransformer(fac.createParameters());
+ }
public void commit(Node node, Field field) {
if (log.isDebugEnabled()) {
log.debug("Commit for " + node + " " + emailField + " " +
node.getChanged());
}
if ((node.getChanged().contains(emailField) && !
node.getChanged().contains(field.getName())) || node.isNew()) {
String email = node.getStringValue(emailField);
+ if ("".equals(email)) {
+ log.debug("Email field is empty, cannot confirm that");
+ } else {
log.service("Sending confirmation email to '" + email + "'");
String key = generateKey();
String encryptedKey = encryptKey(node, field, key);
@@ -228,7 +236,7 @@
if (originalValue != null) {
node.setValueWithoutProcess(emailField, originalValue);
}
-;
+ ;
log.debug("Setting " + key + SEP + email + " in " + field);
@@ -293,14 +301,28 @@
u.append("signature=" + encryptedKey);
emailNode.setStringValue(toField, email);
- emailNode.setStringValue(bodyField,
MessageFormat.format(emailTemplate.getString("body"), encryptedKey,
u.toString(), include.toString()));
+ String bodyHtml =
MessageFormat.format(emailTemplate.getString("body"), encryptedKey,
u.toString(), include.toString());
+
+ String body = "<multipart id=\"plaintext\" type=\"text/plain\"
encoding=\"UTF-8\">\n" +
+ stripper.transform(bodyHtml) +
+ "\n</multipart>\n" +
+ "<multipart alt=\"plaintext\" type=\"text/html\"
encoding=\"UTF-8\">\n" +
+ bodyHtml +
+ "\n</multipart>\n";
+
+ emailNode.setStringValue(bodyField, body);
emailNode.setStringValue(subjectField,
MessageFormat.format(emailTemplate.getString("subject"), encryptedKey));
String from = emailTemplate.getString("from");
emailNode.setStringValue(fromField, from);
+ try {
emailNode.commit();
+ } catch (Exception e) {
+ log.error(e);
+ emailNode.delete();
+ }
emailNode = cloud.getNode(emailNode.getNumber());
try {
@@ -310,6 +332,7 @@
log.debug("No function 'startmail', assuming that the mail
builder mailed on commit");
}
}
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs