JavaMail-API für iMail - java.net.SocketException: Berechtigung verweigert: Verbinden

Ich habe Probleme, eine Anwendung dazu zu bringen, die JavaMail-API zu verwenden, um einige Dateien automatisierter zu versenden, als wir es gewohnt sind. Ich bin sehr neu in Java und NetBeans, habe aber in anderen Sprachen programmiert. Bitte verzeihen Sie mir, wenn ich Java und / oder NetBeans etwas verloren vorkomme.

Ich bekomme immer wieder diesen Fehler

java.net.SocketException: Berechtigung verweigert: Verbinden

beim Versuch, eine Verbindung zum lokalen Mailserver herzustellen. Ich habe über den SMTP-Server von Google Mail mit demselben Code eine Verbindung hergestellt und erfolgreich E-Mails gesendet. Ich habe nur den Benutzernamen, das Kennwort und den Port geändert. Ich konnte auch erfolgreich eine Telnet-Verbindung zu unserem Server herstellen und eine 220-Antwort von Port 25 erhalten. Ich habe auch eine Batch-Datei, die ausgeführt wird und E-Mails erfolgreich über unseren lokalen Server sendet. Irgendwelche Gedanken oder Ideen, warum ich keine Verbindung herstellen kannJavaMail?

Hier ist der Code, der die E-Mail sendet.

Quellcode:

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());
   }
}

Ausgabe der beiden Exception-Anweisungen:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage