Hi All,
I'm a new non-expert cocoon user and I'm trying to set up a simple contact
form:
--------------------------------------------------------------
function doContact(){
var path = cocoon.parameters.path;
var lang = cocoon.parameters.lang;
var form = new Form("forms/contact.def.xml");
form.showForm("templates/contact.jx",{path:path,lang:lang});
var MailSender =
cocoon.getComponent(Packages.org.apache.cocoon.mail.MailSender.ROLE);
var global =
cocoon.getComponent(Packages.org.apache.cocoon.components.modules.input.InputModule.ROLE+"Selector").select("global");
try{
MailSender.setSmtpHost(global.getAttribute("smtp",null,null));
MailSender.setFrom(global.getAttribute("smtpfrom",null,null));
MailSender.setSubject("subject");
var body = new java.lang.StringBuffer();
var model = form.getModel();
body.append("name").append(model.nametext).append("\n");
body.append("e-mail: ").append(model.mailtext).append("\n");
body.append("message: ").append(model.messagetext);
MailSender.setBody(body.toString());
MailSender.setTo(global.getAttribute("mail",null,null));
MailSender.send();
cocoon.log.debug("sending mail ok");
form.showForm("templates/contact.jx",{path:path,lang:lang,message:'ok'});
}catch(error){
cocoon.log.debug("sending mail failed");
cocoon.log.debug("sending mail error: "+error);
form.showForm("templates/contact.jx",{path:path,lang:lang,message:'error'});
}finally{
cocoon.releaseComponent(MailSender);
MailSender = null;
}
}
-----------------------------------------------------------
I have also put the Sun mail.jar and activation.jar in my WEB-INF/lib, but I
get the error:
------------------------------------------------------------
org.apache.avalon.framework.component.ComponentException: Could not find
component (key [[JavaPackage org.apache.cocoon.mail.MailSender.ROLE]])
Error calling continuation
context://..../resources/flow/forms.js - 76:-1
context://..../resources/resources.xmap - 227:66
context://..../sitemap.xmap - 165:91
---------------------------------------------------------------------
where forms.js - 76:-1 is
var MailSender =
cocoon.getComponent(Packages.org.apache.cocoon.mail.MailSender.ROLE);
and resources.xmap - 227:66 is
<map:when test="POST">
<map:call continuation="{request-param:continuation}"/>
</map:when>
and context://..../sitemap.xmap - 165:91 is simply
<map:match pattern="resources/**">
<map:mount uri-prefix="resources/" check-reload="yes"
src="resources/resources.xmap"/>
</map:match>
I really cannot understand what I'm doing wrong, I don't know if the code is
wrong or if some java package is missed.
Can anyone help? Thank you bery much.
marco
--
View this message in context:
http://www.nabble.com/error-while-calling-component-MailSender-tf4599839.html#a13132925
Sent from the Cocoon - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]