Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Configurar envió de correos con javamail en tomcat 6

Estas en el tema de Configurar envió de correos con javamail en tomcat 6 en el foro de Java en Foros del Web. Buenas Tardes amigos, Necesito enviar un correo electrónico desde un JSP y no tengo experiencia en este tipo de lenguaje ya tengo instalado en mi ...
  #1 (permalink)  
Antiguo 17/07/2013, 12:28
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Pregunta Configurar envió de correos con javamail en tomcat 6

Buenas Tardes amigos,

Necesito enviar un correo electrónico desde un JSP y no tengo experiencia en este tipo de lenguaje ya tengo instalado en mi servidor con centos-6-x86_64 el JAVA, el TOMCAT y la libreria JAVAMAIL corriendo a la perfección pero no logro hacer el envió del correo, lo que estoy haciendo es lo siguiente:

Código:
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class EnviarCorreo{
	public static void main(){
		String from = "[email protected]";
		String to = "[email protected]";

		String smtpHost = "smtp.dominio.com";
		Properties props = System.getProperties();
		props.put("mail.smtp.host",smtpHost);

		Session sesion = Session.getDefaultInstance(props,null);
		try{
			// Se crea un mensaje vacío
			Message mensaje = new MimeMessage(sesion);
			// Se rellenan los atributos y el contenido
			// Asunto
			mensaje.setSubject("Hola Mundo");
			// Emisor del mensaje
			mensaje.setFrom(new InternetAddress(from));
			// Receptor del mensaje
			mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
			// Cuerpo del mensaje
			mensaje.setText("Este es el cuerpo del mensaje");
			// Se envía el mensaje
			Transport.send(mensaje);
		}catch(MessagingException e){
			System.err.println(e.getMessage());
		}
	}
}
Lo que responde el servidor es lo siguiente:
Código:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /mail.jsp(2,0) Invalid directive
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:469)
	org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1739)
	org.apache.jasper.compiler.Parser.parse(Parser.java:127)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
	org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:120)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
Según he leído esto se debe a una configuración en el web.xml de mi aplicación pero no logro entender esta parte.

De ante mano gracias por su ayuda saludos.
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #2 (permalink)  
Antiguo 17/07/2013, 12:55
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje

org.apache.jasper.JasperException: /mail.jsp(2,0) Invalid directive

org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:165)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:332)
Posiblemente existe un error de syntaxis en el archivo mail.jsp, que no permite que se pueda compilar y generar el archivo .class correspondiente.

Saludos,
  #3 (permalink)  
Antiguo 17/07/2013, 13:16
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Gracias por tu respuesta,

Lo que tiene el archivo mail.jsp es:

Cita:
<%@
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class EnviarCorreo{
public static void main(){
String from = "[email protected]";
String to = "[email protected]";

String smtpHost = "smtp.dominio.com";
Properties props = System.getProperties();
props.put("mail.smtp.host",smtpHost);

Session sesion = Session.getDefaultInstance(props,null);
try{
// Se crea un mensaje vacío
Message mensaje = new MimeMessage(sesion);
// Se rellenan los atributos y el contenido
// Asunto
mensaje.setSubject("Hola Mundo");
// Emisor del mensaje
mensaje.setFrom(new InternetAddress(from));
// Receptor del mensaje
mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Cuerpo del mensaje
mensaje.setText("Este es el cuerpo del mensaje");
// Se envía el mensaje
Transport.send(mensaje);
}catch(MessagingException e){
System.err.println(e.getMessage());
}
}
}
%>
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #4 (permalink)  
Antiguo 17/07/2013, 13:46
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
... Lo que tiene el archivo mail.jsp es: ...
Eso que mostraste no es un archivo JSP correcto, estas usando la directiva <%@ para escribir código Java. En los JSP no se ejecuta el método main(). Tendrías que estudiar un poco mas sobre JSP para, por lo menos, tener una idea de lo que estás haciendo.

Saludos,
  #5 (permalink)  
Antiguo 17/07/2013, 13:50
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Podrías ayudarme a enviar un correo desde un JSP? solo necesito hacer eso, el JSP no es mi fuerte disculpa y gracias.
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #6 (permalink)  
Antiguo 17/07/2013, 17:01
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
Podrías ayudarme a enviar un correo desde un JSP? solo necesito hacer eso, el JSP no es mi fuerte disculpa y gracias.
Técnicamente podrías hacer algo así:

Código Java:
Ver original
  1. <%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
  2. <%@ import="java.util.Properties; javax.mail.*; javax.mail.internet.*" %>
  3. <%!
  4.  
  5.  
  6. String smtpHost = "smtp.dominio.com";
  7. Properties props = System.getProperties();
  8. props.put("mail.smtp.host",smtpHost);
  9.  
  10. Session sesion = Session.getDefaultInstance(props,null);
  11. try {
  12.     Message mensaje = new MimeMessage(sesion);
  13.     mensaje.setSubject("Hola Mundo");
  14.     mensaje.setFrom(new InternetAddress(from));
  15.     mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
  16.     mensaje.setText("Este es el cuerpo del mensaje");
  17.     Transport.send(mensaje);
  18. } catch(MessagingException e) {
  19.     System.err.println(e.getMessage());
  20. }
  21. %>

Si no te funciona tendrás que seguir pegando los errores que te muestre para averiguar cual es el motivo. Como hay un println() en el catch, si existe un error allí tendrás que buscarlo en los LOG de Tomcat.

Saludos,

Última edición por HackmanC; 17/07/2013 a las 17:04 Razón: Corregir imports.
  #7 (permalink)  
Antiguo 17/07/2013, 20:24
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Saludos Bro, gracias por tomarte el tiempo.

he colocado el código tal cual me lo diste y en el log encontré esto:

Cita:
Jul 17, 2013 9:46:49 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /mail.jsp(2,4) Invalid directive
at org.apache.jasper.compiler.DefaultErrorHandler.jsp Error(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatc h(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspErro r(ErrorDispatcher.java:88)
at org.apache.jasper.compiler.Parser.parseDirective(P arser.java:469)
at org.apache.jasper.compiler.Parser.parseFileDirecti ves(Parser.java:1739)
at org.apache.jasper.compiler.Parser.parse(Parser.jav a:127)
at org.apache.jasper.compiler.ParserController.doPars e(ParserController.java:255)
at org.apache.jasper.compiler.ParserController.parseD irectives(ParserController.java:120)
at org.apache.jasper.compiler.Compiler.generateJava(C ompiler.java:165)
at org.apache.jasper.compiler.Compiler.compile(Compil er.java:332)
at org.apache.jasper.compiler.Compiler.compile(Compil er.java:312)
at org.apache.jasper.compiler.Compiler.compile(Compil er.java:299)
at org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:589)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
Yo concidero que mi problema esta en web.xml que dices tu? de ante mano gracias.
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #8 (permalink)  
Antiguo 17/07/2013, 23:16
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
... Yo concidero que mi problema esta en web.xml que dices tu? de ante mano gracias.
¿Por qué motivo consideras que tu problema está en el web.xml? ¿Hay algo fuera de lo común en tu configuración?

Por escribirlo rápido creo que cometí un par de errores, básicamente el mismo problema que ya tenias anteriormente, tendrías que probar a agregar la directiva page, y quitar el signo de admiración,

Código:
<%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
<%@ page import="java.util.Properties; javax.mail.*; javax.mail.internet.*" %>
<%!

String from = "[email protected]";
String to = "[email protected]";

String smtpHost = "smtp.dominio.com";
Properties props = System.getProperties();
props.put("mail.smtp.host",smtpHost);

Session sesion = Session.getDefaultInstance(props,null);
try {
	Message mensaje = new MimeMessage(sesion);
	mensaje.setSubject("Hola Mundo");
	mensaje.setFrom(new InternetAddress(from));
	mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
	mensaje.setText("Este es el cuerpo del mensaje");
	Transport.send(mensaje);
} catch(MessagingException e) {
	System.err.println(e.getMessage());
}
%>
Saludos,
  #9 (permalink)  
Antiguo 18/07/2013, 07:23
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Saludos bro, ahora el servidor me responde lo siguiente:

Cita:
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 6 in the generated java file
Syntax error on token ";", import expected after this token

An error occurred at line: 6 in the generated java file
Syntax error on token ";", import expected after this token

An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token(s), misplaced construct(s)
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token ""mail.smtp.host"", invalid FormalParameterList
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token "smtpHost", VariableDeclaratorId expected after this token
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 12 in the jsp file: /mail.jsp
Session cannot be resolved to a type
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");


An error occurred at line: 12 in the jsp file: /mail.jsp
Session cannot be resolved
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");


An error occurred at line: 12 in the jsp file: /mail.jsp
Syntax error on token ";", { expected after this token
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");


An error occurred at line: 13 in the jsp file: /mail.jsp
Syntax error on token(s), misplaced construct(s)
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));


An error occurred at line: 14 in the jsp file: /mail.jsp
Message cannot be resolved to a type
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));


An error occurred at line: 14 in the jsp file: /mail.jsp
MimeMessage cannot be resolved to a type
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));


An error occurred at line: 14 in the jsp file: /mail.jsp
sesion cannot be resolved
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));


An error occurred at line: 16 in the jsp file: /mail.jsp
InternetAddress cannot be resolved to a type
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);


An error occurred at line: 17 in the jsp file: /mail.jsp
Message.RecipientType.TO cannot be resolved to a type
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);
20: } catch(MessagingException e) {


An error occurred at line: 17 in the jsp file: /mail.jsp
InternetAddress cannot be resolved to a type
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);
20: } catch(MessagingException e) {


An error occurred at line: 19 in the jsp file: /mail.jsp
Transport cannot be resolved
16: mensaje.setFrom(new InternetAddress(from));
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);
20: } catch(MessagingException e) {
21: System.err.println(e.getMessage());
22: }


An error occurred at line: 20 in the jsp file: /mail.jsp
MessagingException cannot be resolved to a type
17: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);
20: } catch(MessagingException e) {
21: System.err.println(e.getMessage());
22: }
23: %>


An error occurred at line: 21 in the jsp file: /mail.jsp
e cannot be resolved
18: mensaje.setText("Este es el cuerpo del mensaje");
19: Transport.send(mensaje);
20: } catch(MessagingException e) {
21: System.err.println(e.getMessage());
22: }
23: %>


An error occurred at line: 39 in the generated java file
Syntax error on token "Object", @ expected

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:334)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:312)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:299)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #10 (permalink)  
Antiguo 18/07/2013, 10:46
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Bueno, esta vez ya está probado, debería funcionar correctamente, como solamente copie tus imports también olvide cambiar los ';' por ','.

Código Java:
Ver original
  1. <%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
  2. <%@ page import="java.util.Properties, javax.mail.*, javax.mail.internet.*" %>
  3. <%
  4.  
  5. String smtpHost = "smtp.dominio.com";
  6. Properties props = System.getProperties();
  7. props.put("mail.smtp.host",smtpHost);
  8. Session sesion = Session.getDefaultInstance(props,null);
  9. try {
  10.     Message mensaje = new MimeMessage(sesion);
  11.     mensaje.setSubject("Hola Mundo");
  12.     mensaje.setFrom(new InternetAddress(from));
  13.     mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
  14.     mensaje.setText("Este es el cuerpo del mensaje");
  15.     Transport.send(mensaje);
  16. } catch(MessagingException e) {
  17.     System.err.println(e.getMessage());
  18. }
  19. %>

Saludos,
  #11 (permalink)  
Antiguo 18/07/2013, 11:57
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Q va man!, nada que sale ahora el servidor boto:

Cita:
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token(s), misplaced construct(s)
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token ""mail.smtp.host"", invalid FormalParameterList
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 10 in the jsp file: /mail.jsp
Syntax error on token "smtpHost", VariableDeclaratorId expected after this token
7:
8: String smtpHost = "mail.dominio.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {


An error occurred at line: 12 in the jsp file: /mail.jsp
Session cannot be resolved to a type
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");


An error occurred at line: 12 in the jsp file: /mail.jsp
Session cannot be resolved
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");


An error occurred at line: 12 in the jsp file: /mail.jsp
Syntax error on token ";", { expected after this token
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11:
12: Session sesion = Session.getDefaultInstance(props,null);
13: try {
14: Message mensaje = new MimeMessage(sesion);
15: mensaje.setSubject("Hola Mundo");
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #12 (permalink)  
Antiguo 18/07/2013, 12:12
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
Q va man!, nada que sale ahora el servidor boto:
¿Quitaste el signo de admiración (!) de la etiqueta (<%)?
Al principio del código cambié esta línea:
Código:
<%!
Por esta otra:
Código:
<%
Si no te funciona con el último código que mostré en el post anterior, entonces no tengo ni idea, posiblemente exista algo adicional en tu web.xml como mencionaste u otros motivos. Posiblemente alguien mas pueda detectar el problema.

El último código que mostré lo probé en Tomcat con la librería mail, y me envíe un mensaje a mi mismo por gmail para asegurarme que funcionara (solamente agregué las propiedades de autenticación de gmail).

Saludos,
  #13 (permalink)  
Antiguo 18/07/2013, 13:02
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Nop no funciona, en el web.xml no hay nada por eso digo que quizás sea una configuración que tenga que hacer en ese archivo para que el vea la libreria del JAVAMAIL, fijate que el primer error es:
Cita:
Session cannot be resolved to a type
No logra hacer la asignación:
Cita:
Session sesion = Session.getDefaultInstance(props,null);
Alguna otra idea? gracias.
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #14 (permalink)  
Antiguo 18/07/2013, 13:30
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
... fijate que el primer error es:
...
No logra hacer la asignación:
...
Suponiendo que ya se hayan corregido los demás errores, y ese sea el primer error, ¿ya pusiste la librería mail.jar en el directorio WEB-INF/lib del WAR?

Saludos,
  #15 (permalink)  
Antiguo 18/07/2013, 14:17
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

NOP!!! no se supone que al ya estar en mail.jar en el servidor el lo leeria? esto esta corriendo en un servidor compartido con servicio de correo si copio de nuevo el archivo en otra ruta no traería conflictos en el servidor de correo?
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #16 (permalink)  
Antiguo 18/07/2013, 14:38
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Configurar envió de correos con javamail en tomcat 6

Hola,

Cita:
Iniciado por JDEM Ver Mensaje
NOP!!! no se supone que al ya estar en mail.jar en el servidor el lo leeria? esto esta corriendo en un servidor compartido con servicio de correo si copio de nuevo el archivo en otra ruta no traería conflictos en el servidor de correo?
Sí existen dos librerías en el classpath va a cargar la primera que encuentre, aunque puede dar problemas de versiones al haber sido compilados contra una versión diferente. Cada aplicación esta aislada de las demás, la carpeta WEB-INF/lib es solamente para tu proyecto. Podría tener conflictos pero solamente tu proyecto.

El problema es que el error dice:

Código:
Session cannot be resolved to a type
Si colocaste:

Código:
<%@ page import="java.util.Properties, javax.mail.*, javax.mail.internet.*" %>
Y todavía así muestra el error, entonces es porque no encuentra la librería mail en el servidor compartido. Allí quedará a tu criterio probar a poner la librería en el WAR; aunque sería aconsejable que preguntaras al proveedor del servicio si la librería ya está en los shared libs de Tomcat o el JRE.

Saludos,
  #17 (permalink)  
Antiguo 18/07/2013, 15:22
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Copie el mail.jar en la carpeta WEB-INF/lib del proyecto y sigue dando los mismos errores:

Cita:
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 11 in the jsp file: /mail.jsp
Session cannot be resolved to a type
8: String smtpHost = "mail.nestsystems.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11: Session sesion = Session.getDefaultInstance(props,null);
12: try {
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");


An error occurred at line: 11 in the jsp file: /mail.jsp
Session cannot be resolved
8: String smtpHost = "mail.nestsystems.com";
9: Properties props = System.getProperties();
10: props.put("mail.smtp.host",smtpHost);
11: Session sesion = Session.getDefaultInstance(props,null);
12: try {
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");


An error occurred at line: 13 in the jsp file: /mail.jsp
Message cannot be resolved to a type
10: props.put("mail.smtp.host",smtpHost);
11: Session sesion = Session.getDefaultInstance(props,null);
12: try {
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));


An error occurred at line: 13 in the jsp file: /mail.jsp
MimeMessage cannot be resolved to a type
10: props.put("mail.smtp.host",smtpHost);
11: Session sesion = Session.getDefaultInstance(props,null);
12: try {
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));


An error occurred at line: 15 in the jsp file: /mail.jsp
InternetAddress cannot be resolved to a type
12: try {
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
17: mensaje.setText("Este es el cuerpo del mensaje");
18: Transport.send(mensaje);


An error occurred at line: 16 in the jsp file: /mail.jsp
Message.RecipientType.TO cannot be resolved to a type
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
17: mensaje.setText("Este es el cuerpo del mensaje");
18: Transport.send(mensaje);
19: } catch(MessagingException e) {


An error occurred at line: 16 in the jsp file: /mail.jsp
InternetAddress cannot be resolved to a type
13: Message mensaje = new MimeMessage(sesion);
14: mensaje.setSubject("Hola Mundo");
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
17: mensaje.setText("Este es el cuerpo del mensaje");
18: Transport.send(mensaje);
19: } catch(MessagingException e) {


An error occurred at line: 18 in the jsp file: /mail.jsp
Transport cannot be resolved
15: mensaje.setFrom(new InternetAddress(from));
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
17: mensaje.setText("Este es el cuerpo del mensaje");
18: Transport.send(mensaje);
19: } catch(MessagingException e) {
20: System.err.println(e.getMessage());
21: }


An error occurred at line: 19 in the jsp file: /mail.jsp
MessagingException cannot be resolved to a type
16: mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
17: mensaje.setText("Este es el cuerpo del mensaje");
18: Transport.send(mensaje);
19: } catch(MessagingException e) {
20: System.err.println(e.getMessage());
21: }
22: %>


Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:334)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:312)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:299)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
Yo considero que debe ser algo con la librería, quizás no la esta encontrado, alguno sugerencia?
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.
  #18 (permalink)  
Antiguo 19/07/2013, 00:55
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Configurar envió de correos con javamail en tomcat 6

¿Copiaste también el activation.jar?

http://code.geekinterview.com/java/s...ation_jar.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #19 (permalink)  
Antiguo 19/07/2013, 09:33
Avatar de JDEM  
Fecha de Ingreso: octubre-2008
Ubicación: www....
Mensajes: 154
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Configurar envió de correos con javamail en tomcat 6

Q va brotheres!!! no funciono lo redirigí a PHP y borralo como pez en el agua je je ej.

Gracias por su ayuda saludos...
__________________
Visitanos http://www.nestsystems.com.ve, mucho mas que solo paginas web.

Etiquetas: jsp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:34.