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

Error al usar javamail

Estas en el tema de Error al usar javamail en el foro de Java en Foros del Web. Error: java.net.SocketException: Permission denied: connect Que tal,yo se que este problema sea bastante común ya que he visto en distintos foros el mismo problema pero ...
  #1 (permalink)  
Antiguo 27/10/2014, 19:01
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Error al usar javamail

Error: java.net.SocketException: Permission denied: connect

Que tal,yo se que este problema sea bastante común ya que he visto en distintos foros el mismo problema pero creo que el

mio es un poco distinto. Durante un tiempo eh estado trabajando con la librería de javamail para el envío de correos y todo

me habia salido bien hasta hace unas semanas, resulta que en mi trabajo estoy desarrollando una aplicación basada en java

con el framework de struts 2 y jsp's, mi problema surgió al intentar enviar correos dentro de la red de la empresa ya que

me manda el siguiente error: java.net.SocketException: Permission denied: connect.

He estado buscando alguna solución en muchisimos foros, incluso en inglés y no he podido solucionar este problema. Pregunté

al administrador de la red que si tenía algún firewall en ese puerto el cual me esté bloqueando el acceso pero me dijo que

no tienen configurado ninguno. También me dijo que solo usan ipv4. Comprobé que el puerto no este deshabilitado mediante un

ping al smtp de la compañia y efectivamente tengo respuesta por lo que el servicio si está activo. Estoy usando java 1.7 y

por lo que leí esa versión tiene algunos problemas con la libreria de javamail por lo que instalé la versión 1.6 y aún asi

tengo el mismo problema. Incluso agregué el siguiente código (-Djava.net.preferIPv4Stack=true) a la vm de netbeans pero

sigo sin tener una respuesta favorable, lo curioso es que hice un nuevo proyecto de consola (los que solo aparecen la taza

de café) en netbeans con el mismo código, agregué la misma línea de código (-Djava.net.preferIPv4Stack=true) y sí me dejó

enviar el correo, pero al crear el archivo .jar del proyecto (usando clean and built) y ejecutandolo desde cmd me vuelve a

marcar el mismo error y no envía el correo.

Otra prueba que hice fué llevarme el proyecto a mi casa y ejecutarlo conectado a mi red y efectivamente me deja enviar el

correo, asi que supongo que el problema está en alguna configuración de la empresa y no en el código pero la verdad no

tengo la menor idea de que pueda ser. Les dejo el código que estoy utilizando y espero que alguien me pueda ayudar a dar

solución a este problema.

Cabe mencionar que la dirección de correo del cual estoy enviando los correos no requiere autenticación:

Código:
public class Correo extends ActionSupport {

    private String De;
    private String Para;
    private String Mensaje;
    private String Asunto;

    @Override
    public String execute() {
        try {
            String from = "[email protected]";
            String to = "[email protected]";
            String smtpHost = "smtp.xxxxx.com";
            Properties props = System.getProperties();
            props.put("mail.smtp.host", smtpHost);
            Session sesion = Session.getDefaultInstance(props);

            sesion.setDebug(true);
            MimeMessage message = new MimeMessage(sesion);

            message.setSubject("MENSAJE");
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setText("Texto del mensaje");
            
            Transport.send(message);
            return SUCCESS;
        } catch (MessagingException e) {
            System.out.println(e);
            return ERROR;
        }
    }
}
  #2 (permalink)  
Antiguo 28/10/2014, 01:35
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Error al usar javamail

Buenas,

El hacer ping no es concluyente. La maquina esta claro que existe, pero el problema parece ser que no puedes acceder al puerto que te interesa (entiendo que el 25).
Normalmente en tu empresa deberian tener capado el acceso a los puertos del exterior y permitir solo la conectividad a internet a traves de un proxy corporativo.

Yo hablaria con el administrador de red de tu empresa para que te confirme que es asi y te de una solucion, abriendote alguna regla, por ejemplo.


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: javamail, jsp, smtp, struts2
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 09:15.