Javamail-smtp-connect和Domino-Lotus

Javamail-smtp-connect和Domino-Lotus,java,jakarta-mail,lotus-domino,Java,Jakarta Mail,Lotus Domino,我开发了一个web应用程序JSF、Spring、jboss AS 7.0.13,用于使用Javamail 1.4和DominoLotus9.0.1作为邮件服务器通过smtp发送邮件 已经完成的工作: Domino Lotus已配置为允许smtp消息。 我可以使用Lotus Notes邮件客户端发送邮件。 我可以使用简单客户机发送邮件,也可以使用我为测试目的开发的简单jar文件。 发送方法源代码: System.out.println(" ******************* START

我开发了一个web应用程序JSF、Spring、jboss AS 7.0.13,用于使用Javamail 1.4和DominoLotus9.0.1作为邮件服务器通过smtp发送邮件

已经完成的工作:

Domino Lotus已配置为允许smtp消息。 我可以使用Lotus Notes邮件客户端发送邮件。 我可以使用简单客户机发送邮件,也可以使用我为测试目的开发的简单jar文件。 发送方法源代码:

    System.out.println(" ******************* START SENDING EMAIL ***********************");

    Properties props = new Properties();

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

    props.put("mail.smtp.host", "192.168.25.5");
    props.put("mail.smtp.socketFactory.port","25");

    props.put("mail.smtp.port", "25");

    session = Session.getInstance(props); 

    try {
        Message message;
        message = new MimeMessage(session);
        message.setFrom(new InternetAddress("alice@test.ma"));
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("bob@test.ma"));

        message.setSubject("Test Notification");
        message.setContent("Hello there !!", "text/html");

        Transport.send(message);


    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }


    System.out.println(" ******************* END SENDING MAIL ***********************");
}
奇怪的是,在一个简单的java应用程序中使用相同的方法,我可以毫无问题地发送邮件,但是,当尝试从我的web应用程序发送邮件时,当然再次使用相同的方法源代码>>>我遇到了一个异常:

原因:javax.mail.MessaginException:无法连接到SMTP主机:192.168.25.5,端口:25; 嵌套异常是: java.net.SocketException:无法识别的Windows套接字错误:10107:连接 在com.sun.mail.smtp.SMTPTransport.openServerSMTPTransport.java:1934[mail-1.4.4.jar:1.4.4] 在com.sun.mail.SMTPTransport.protocolConnectSMTPTransport.java:638[mail-1.4.4.jar:1.4.4] java:295[mail-1.4.4.jar:1.4.4] java:176[mail-1.4.4.jar:1.4.4] java:125[mail-1.4.4.jar:1.4.4] javax.mail.Transport.send0Transport.java:194[mail-1.4.4.jar:1.4.4] java:124[mail-1.4.4.jar:1.4.4] ... 83多 原因:java.net.SocketException:无法识别的Windows套接字错误:10107:连接 在java.net.TwoStacksPlainSocketImpl.socketConnectNative方法[rt.jar:1.7.055] java.net.AbstractPlainSocketImpl.doConnectAbstractPlainSocketImpl.java:339[rt.jar:1.7.055] 在java.net.AbstractPlainSocketImpl.connectToAddressAbstractPlainSocketImpl.java:200[rt.jar:1.7.055] java.net.AbstractPlainSocketImpl.connectAbstractPlainSocketImpl.java:182[rt.jar:1.7.055] 在java.net.PlainSocketImpl.connectPlainSocketImpl.java:172[rt.jar:1.7.055] 在java.net.socksocketimpl.connectsocksocketimpl.java:392[rt.jar:1.7.0_55] java:579[rt.jar:1.7.0_55] java:528[rt.jar:1.7.0_55] 在com.sun.mail.util.SocketFetcher.createSocketSocketFetcher.java:288[mail-1.4.4.jar:1.4.4] 在com.sun.mail.util.SocketFetcher.getSocketSocketFetcher.java:231[mail-1.4.4.jar:1.4.4] 在com.sun.mail.smtp.SMTPTransport.openServerSMTPTransport.java:1900[mail-1.4.4.jar:1.4.4] ... 89多

其他资料:

Domino Lotus服务器ip_地址:192.168.25.5 Domino Lotus smtp默认端口:25 Alice和Bon邮件地址已经创建。
感谢Torsten Link,您是对的,jboss服务没有允许web应用程序通过smtp与Domino Lotus通信的所有权限,通过standalone.bat手动运行jboss解决了问题。
再次感谢=

您是否在运行web应用程序服务器的同一台机器上运行测试应用程序?是的,它们在同一台服务器上运行web应用程序在哪个上下文中运行?我认为,它运行的进程没有使用端口的权限。手动调用的程序具有您的用户权限,因此通常允许使用端口,例如使用系统帐户的服务可能不被允许。我正在使用我为jboss创建的服务运行我的应用程序,您有什么建议?使用standalone.bat手动运行jboss通常系统帐户是高优先级帐户,它应该已经有使用端口的权限。