API de JavaMail para iMail - java.net.SocketException: Permiso denegado: conectar

Tengo problemas para conseguir que una aplicación utilice la API de JavaMail para enviar algunos archivos de forma más automatizada de lo que estamos acostumbrados. Soy muy nuevo en Java y NetBeans, pero he programado en otros idiomas, así que perdóneme si me parece un poco perdido para Java y NetBeans.

Sigo recibiendo este error

java.net.SocketException: permiso denegado: conectar

al intentar conectarse al servidor de correo local. Me conecté y envié el correo correctamente a través del servidor SMTP de gmail con el mismo código, solo cambiando el nombre de usuario, la contraseña y el puerto. También pude hacer telnet a nuestro servidor con éxito y obtener una respuesta 220 del puerto 25. También tengo un archivo de proceso por lotes que se ejecuta y envía correo electrónico con éxito a través de nuestro servidor local. Cualquier pensamiento o idea de por qué no puedo conectarme a través deJavaMail?

Aquí está el código que envía el correo electrónico.

Código fuente:

public void sendEmail(String customerNumber, ArrayList fileList){
   String from = "xxxx";
   String username = "xxxx";
   String to = "xxxx";
   String host = "10.1.1.6";
   String pwd = "xxxx";
   String port = "25";

   Properties props = System.getProperties();
   props.put("mail.smtp.host", host);
   props.put("mail.smtp.port", port);
   props.put("mail.smtp.user", username);
   props.put("mail.smtp.auth", "true");
   props.put("mail.smtp.starttls.enable", "true");
   props.put("mail.smtp.debug", "true");
   props.put("mail.smtp.socketFactory.port", port);
   props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
   props.put("mail.smtp.socketFactory.fallback", "false");

   Session session = Session.getInstance(props, null);
   session.setDebug(true);

   MimeMessage message = new MimeMessage(session);
   try{
       message.setFrom(new InternetAddress(from));
       message.setRecipients(Message.RecipientType.TO, to);
       message.setSubject("Electronic Invoices");
       BodyPart messageBodyPart = new MimeBodyPart();
       messageBodyPart.setText("Electronic Invoices");
       Multipart multipart = new MimeMultipart();
       multipart.addBodyPart(messageBodyPart);
       for(int i = 0; i < fileList.size(); i++){
           messageBodyPart = new MimeBodyPart();
           String fileName = (String) fileList.get(i);
           DataSource source = new FileDataSource(fileName);
           messageBodyPart.setDataHandler(new DataHandler(source));
           messageBodyPart.setFileName(fileName);
           multipart.addBodyPart(messageBodyPart);
       }
       message.setContent(multipart);

       Transport tr;
       tr = session.getTransport("smtp");
       tr.connect(host, username, pwd);
       tr.sendMessage(message, message.getAllRecipients());
       jTextArea2.append("Mail Sent Successfully");
       tr.close();

   } catch(Exception e){
       jTextArea2.append("sendEmail()::" + System.getProperty("line.separator") + e + System.getProperty("line.separator"));
       System.out.println(e.getMessage());
       System.out.println(e.getCause());
   }
}

Salida de las dos declaraciones de excepción:

DEBUG: setDebug: JavaMail version 1.4.5
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "10.1.1.6", port 25, isSSL false
Could not connect to SMTP host: 10.1.1.6, port: 25
java.net.SocketException: Permission denied: connect

Respuestas a la pregunta(2)

Su respuesta a la pregunta