Problemas con JSP javax.mail
Publicado por Ezan (1 intervención) el 04/02/2015 12:57:39
Mi problema es sencillo: mensaje.javax.mail.AuthenticationFailedException
Todos los datos son correctos, y por la consola del servidor no llega ni a conectar. He de decir que ésto se ejecuta desde un portlet en liferay 5.2. Lo más seguro que el propio liferay no le de permisos para ejecutarse. Pero no lo sé, así que estoy abierto a cualquier idea.
Pues bien éste es mi código:
<%@ page import="java.io.*,java.util.*,javax.mail.*, javax.mail.Service"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%!
String Enviar(String from, String to, String subject, String body){
String result="";
String host = "mihost.test.es";
String user = "loginprueba";
String pass = "passprueba";
// Cojo las propiedades del sistema
Properties properties = System.getProperties();
// Configuro el server
properties.put("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.user", user);
properties.setProperty("mail.smtp.password", pass);
properties.setProperty("mail.smtp.port", "25");
properties.setProperty("mail.smtp.auth", "true");
// Cojo las propiedades por defecto de la sesion
Session mailSession = Session.getDefaultInstance(properties);
try{
// Creo el objeto mensaje
MimeMessage message = new MimeMessage(mailSession);
// Cargo el from en la cabecera
message.setFrom(new InternetAddress(from));
// Cargo el to
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Cargo el asunto
message.setSubject(subject);
// Cargo el cuerpo del mensaje
message.setText(body);
Transport.send(message);
result = "Mensaje enviado con éxito";
}catch (MessagingException mex){
mex.printStackTrace();
result = "No se ha podido enviar el mensaje."+mex;
}
return result;
};
%>
Y desde cualquier lado importando el jsp anterior puedo llamarlo de ésta forma:
String aux = Enviar(from, to, subject, body);
Todos los datos son correctos, y por la consola del servidor no llega ni a conectar. He de decir que ésto se ejecuta desde un portlet en liferay 5.2. Lo más seguro que el propio liferay no le de permisos para ejecutarse. Pero no lo sé, así que estoy abierto a cualquier idea.
Pues bien éste es mi código:
<%@ page import="java.io.*,java.util.*,javax.mail.*, javax.mail.Service"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%!
String Enviar(String from, String to, String subject, String body){
String result="";
String host = "mihost.test.es";
String user = "loginprueba";
String pass = "passprueba";
// Cojo las propiedades del sistema
Properties properties = System.getProperties();
// Configuro el server
properties.put("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.user", user);
properties.setProperty("mail.smtp.password", pass);
properties.setProperty("mail.smtp.port", "25");
properties.setProperty("mail.smtp.auth", "true");
// Cojo las propiedades por defecto de la sesion
Session mailSession = Session.getDefaultInstance(properties);
try{
// Creo el objeto mensaje
MimeMessage message = new MimeMessage(mailSession);
// Cargo el from en la cabecera
message.setFrom(new InternetAddress(from));
// Cargo el to
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Cargo el asunto
message.setSubject(subject);
// Cargo el cuerpo del mensaje
message.setText(body);
Transport.send(message);
result = "Mensaje enviado con éxito";
}catch (MessagingException mex){
mex.printStackTrace();
result = "No se ha podido enviar el mensaje."+mex;
}
return result;
};
%>
Y desde cualquier lado importando el jsp anterior puedo llamarlo de ésta forma:
String aux = Enviar(from, to, subject, body);
Valora esta pregunta
0