Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不能';t连接到主机,端口:";“xxxxxxxx”;,25; 超时-1;java.net.SocketException:权限被拒绝:连接_Java_Jakarta Mail_Permission Denied - Fatal编程技术网

不能';t连接到主机,端口:";“xxxxxxxx”;,25; 超时-1;java.net.SocketException:权限被拒绝:连接

不能';t连接到主机,端口:";“xxxxxxxx”;,25; 超时-1;java.net.SocketException:权限被拒绝:连接,java,jakarta-mail,permission-denied,Java,Jakarta Mail,Permission Denied,我做了上面链接中建议的更改,但我仍然面临同样的问题,我在使用jdk1.8时尝试了JDK 6,并在VM选项中添加了-Djava.net.preferIPv4Stack=true Properties props = System.getProperties(); props.put("mail.host",smtpHostServer ); props.put("mail.transport.protocol", "smtp"); props.put("mail.s

我做了上面链接中建议的更改,但我仍然面临同样的问题,我在使用jdk1.8时尝试了JDK 6,并在VM选项中添加了-Djava.net.preferIPv4Stack=true

    Properties props = System.getProperties();
    props.put("mail.host",smtpHostServer );
    props.put("mail.transport.protocol", "smtp");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "25");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smptp.ssl.enable", true);
    props.put("mail.smtp.ssl.trust", smtpHostServer);
    props.put("mail.debug", "true");
    props.put("mail.smtp.socketFactory.port", "25");
    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);

    EmailUtil.sendEmail(session, emailID,"SimpleEmail Testing Subject", "SimpleEmail Testing Body");
我得到以下日志,不确定是否与帐户权限有关,因为我使用的是公司帐户MS exchange server,例如:abc@xyz.com

`DEBUG: setDebug: JavaMail version 1.5.5
Message is ready
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "xxxxx.xxxxx.com", port 25, isSSL false
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: xxxx.xxxxxx.com, 25; timeout -1;
  nested exception is:
    java.net.SocketException: Permission denied: connect
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2100)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:699)
    at javax.mail.Service.connect(Service.java:366)
    at javax.mail.Service.connect(Service.java:246)
    at javax.mail.Service.connect(Service.java:267)
    at com.test.spring.mail.EmailUtil.sendEmail(EmailUtil.java:71)
    at com.test.spring.mail.MailServiceTest.main(MailServiceTest.java:44)
Caused by: java.net.SocketException: Permission denied: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:331)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:217)
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2066)
    ... 6 more`

许多现代服务器不允许通过端口25进行连接,需要TLS或其他类型的加密。您能否使用端口25远程登录到主机并键入“HELO”?这将是客户端的出站防火墙规则。移除它。删除所有出站防火墙规则。它们对安全性没有任何贡献。SMTP连接失败,并为电子邮件传输获得了新的服务器和端口。谢谢