不能';t连接到主机,端口:";“xxxxxxxx”;,25; 超时-1;java.net.SocketException:权限被拒绝:连接
我做了上面链接中建议的更改,但我仍然面临同样的问题,我在使用jdk1.8时尝试了JDK 6,并在VM选项中添加了-Djava.net.preferIPv4Stack=true不能';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
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连接失败,并为电子邮件传输获得了新的服务器和端口。谢谢