Hi! I'm having a problem with sendmail. I've successfuly set up sendmail logicsheet, put mail.jar from JavaMail 1.3 pakage to WEB-INF/lib. Transformed XSP page (Java source in work dir, attached) seemes to be ok and no errors reported in log-file... But still i can't recieve an e-mail, and most strange thing is that result of pipeline execution is empty document... I try to apply not valid e-mail address and still the same result - no result (empty document).
Desired result: <page> <upsa>UPSA</upsa> </page> and an e-mail message in my inbox :) My XSP: <?xml version="1.0" encoding="UTF-8"?> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:xsp-request="http://apache.org/xsp/request/2.0" xmlns:sendmail="http://apache.org/cocoon/sendmail/1.0" > <page> <xsp:logic> String text = "Hi,\n"+ "this mail has been send through a web form ...\n"; </xsp:logic> <sendmail:send-mail> <sendmail:charset>ISO-8859-1</sendmail:charset> <sendmail:from>[EMAIL PROTECTED]</sendmail:from> <sendmail:to>[EMAIL PROTECTED]</sendmail:to> <sendmail:subject>Cocoon send mail test</sendmail:subject> <!-- Modify the next line to point to your mail server --> <sendmail:smtphost>192.168.0.3</sendmail:smtphost> <sendmail:body> <xsp:expr>text</xsp:expr> </sendmail:body> </sendmail:send-mail> <upsa>UPSA</upsa> </page> </xsp:page> Sitemap pipeline: <map:match pattern="mail.xml"> <map:generate src="docs/mail.xsp" type="serverpages"/> <map:serialize type="xml"/> </map:match> Snip from sitemap logfile: DEBUG (2002-09-18) 15:12.29:482 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/sitemap_xmap: Matched wildcard pattern *.xml DEBUG (2002-09-18) 15:12.29:483 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/AbstractSitemap: Current Sitemap Parameters: PARAM: '1' VALUE: 'mail' PARAM: '0' VALUE: 'mail.xml' DEBUG (2002-09-18) 15:12.29:483 [sitemap.selector.request-parameter] (/proza-new/mail.xml) HttpProcessor[8080][4]/RequestParameterSelector: Request parameter 'action' not set -- failing. DEBUG (2002-09-18) 15:12.29:484 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/sitemap_xmap: Matched wildcard pattern mail.xml DEBUG (2002-09-18) 15:12.29:485 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/AbstractSitemap: Current Sitemap Parameters: PARAM: '0' VALUE: 'mail.xml' PARAM: '../1' VALUE: 'mail' PARAM: '../0' VALUE: 'mail.xml' DEBUG (2002-09-18) 15:12.29:485 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/sitemap_xmap: Component generator:serverpages(Parameters.EMPTY_PARAMETERS) DEBUG (2002-09-18) 15:12.29:486 [sitemap] (/proza-new/mail.xmll) HttpProcessor[8080][4]/sitemap_xmap: Source= docs/mail.xsp DEBUG (2002-09-18) 15:12.29:487 [sitemap] (/proza-new/mail.xml) HttpProcessor[8080][4]/sitemap_xmap: Component serializer:xml(Parameters.EMPTY_PARAMETERS) Help me, please! I've killed 2 hours to find out where is the problem... My env: Cocoon 2.0.3, Tomcat 4.0.4, JDK 1.4.0_01, SuSE 8.0 Ivan Luzyanin.
package org.apache.cocoon.www.docs; import java.io.File; import java.io.IOException; import java.io.StringReader; //import java.net.*; import java.util.Date; import java.util.List; import java.util.Stack; //import org.w3c.dom.*; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; //import org.apache.avalon.framework.*; import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentSelector; import org.apache.avalon.framework.context.Context; import org.apache.avalon.excalibur.datasource.DataSourceComponent; //import org.apache.avalon.framework.util.*; import org.apache.cocoon.Constants; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.components.parser.Parser; import org.apache.cocoon.generation.Generator; //import org.apache.cocoon.util.*; import org.apache.cocoon.components.language.markup.xsp.XSPGenerator; import org.apache.cocoon.components.language.markup.xsp.XSPObjectHelper; import org.apache.cocoon.components.language.markup.xsp.XSPRequestHelper; import org.apache.cocoon.components.language.markup.xsp.XSPResponseHelper; import org.apache.cocoon.components.language.markup.xsp.XSPSessionHelper; /* User Imports */ import javax.mail.Message; import javax.mail.Transport; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.AddressException; import java.util.Date; import java.util.Properties; /** * Generated by XSP. Edit at your own risk, :-) */ public class mail_xsp extends XSPGenerator { static { dateCreated = 1032351150379L; dependencies = new File[] { }; } /* Built-in parameters available for use */ // context - ServletContext // request - org.apache.cocoon.environment.Request // response - org.apache.cocoon.environment.Response // parameters - parameters defined in the sitemap /* User Class Declarations */ static Properties _sendmail_properties; static { _sendmail_properties = new Properties(); _sendmail_properties.put("mail.smtp.host","127.0.0.1"); } /** * Generate XML data. */ public void generate() throws SAXException, IOException, ProcessingException { this.contentHandler.startDocument(); AttributesImpl xspAttr = new AttributesImpl(); this.contentHandler.startPrefixMapping( "xml", "http://www.w3.org/XML/1998/namespace" ); this.contentHandler.startPrefixMapping( "xsp", "http://apache.org/xsp" ); this.contentHandler.startPrefixMapping( "xsp-request", "http://apache.org/xsp/request/2.0" ); this.contentHandler.startPrefixMapping( "sendmail", "http://apache.org/cocoon/sendmail/1.0" ); this.contentHandler.startElement( "", "page", "page", xspAttr ); xspAttr.clear(); this.characters("\n "); String text = "Hi,\n"+ "this mail has been send through a web form ...\n"; this.characters("\n "); try { Properties _sendmail_properties = new Properties(this._sendmail_properties); if (!"null".equals(String.valueOf( "" + "192.168.0.3" ))) { _sendmail_properties.put("mail.smtp.host",String.valueOf( "" + "192.168.0.3" )); } javax.mail.Session _sendmail_session = javax.mail.Session.getDefaultInstance(_sendmail_properties,null); MimeMessage _sendmail_message = new MimeMessage(_sendmail_session); InternetAddress _sendmail_from = new InternetAddress(String.valueOf( "" + "[EMAIL PROTECTED]" )); _sendmail_message.setFrom(_sendmail_from); InternetAddress _sendmail_to = new InternetAddress(String.valueOf( "" + "[EMAIL PROTECTED]" )); _sendmail_message.setRecipient(Message.RecipientType.TO,_sendmail_to); _sendmail_message.setSentDate(new Date()); _sendmail_message.setSubject(String.valueOf( "" + "Cocoon send mail test" )); if (!"null".equals(String.valueOf( "" + "ISO-8859-1" ))) { _sendmail_message.setText(String.valueOf( "" + " " + (text) + " " ),String.valueOf( "" + "ISO-8859-1" )); } else { _sendmail_message.setText(String.valueOf( "" + " " + (text) + " " )); } Transport.send(_sendmail_message); } catch (AddressException _sendmail_exception) { xspAttr.addAttribute( "", "type", "type", "CDATA", "user" ); this.contentHandler.startElement( "", "error", "error", xspAttr ); xspAttr.clear(); this.characters("Your email address is invalid."); this.contentHandler.endElement( "", "error", "error" ); } catch (MessagingException _sendmail_exception) { xspAttr.addAttribute( "", "type", "type", "CDATA", "server" ); this.contentHandler.startElement( "", "error", "error", xspAttr ); xspAttr.clear(); this.characters("An error occured while sending email."); this.contentHandler.endElement( "", "error", "error" ); } this.characters("\n "); this.contentHandler.startElement( "", "upsa", "upsa", xspAttr ); xspAttr.clear(); this.characters("UPSA"); this.contentHandler.endElement( "", "upsa", "upsa" ); this.characters("\n "); this.contentHandler.endElement( "", "page", "page" ); this.contentHandler.endPrefixMapping( "xml" ); this.contentHandler.endPrefixMapping( "xsp" ); this.contentHandler.endPrefixMapping( "xsp-request" ); this.contentHandler.endPrefixMapping( "sendmail" ); this.contentHandler.endDocument(); } }
--------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>