我现在正在做一个发送邮件的练习,但是测试后发现老不能登陆上服务器,在openserver()方法时候出错。
然后我ping了下smtp.sina.com可以连接上,但是却无法telnet上这个服务器。请问大家这是个什么原因?
DEBUG信息如下:
DEBUG: setDebug: JavaMail version 1.4.3
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 "smtp.sina.com", port 25, isSSL false
javax.mail.MessagingException: Could not connect to SMTP host: smtp.sina.com, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at com.mail2.Mail.send(Mail.java:178)
at com.mail2.TestMail.main(TestMail.java:23)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
java.net.ConnectException: Connection timed out: connect
... 5 more
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at com.mail2.Mail.send(Mail.java:178)
at com.mail2.TestMail.main(TestMail.java:23)
[b]问题补充:[/b]
telnet smtp.sina.com 25
尝试过了。显示为在端口25 连接失败。
而且我也尝试过qq, 126 ,163的 都是现实在端口25 连接失败。。
所以我想是不是我本机需要什么服务的美开的呢?因为我看了下我的服务里面没有smtp服务。但是网上有人说这个和发送邮件没有影响的啊。
有没有人知道的啊,,求教啊
[b]问题补充:[/b]
没有啊。我现在只是想借用sina上的邮箱来发送以个简单的邮件。
然后再debug的时候发现老是连接不上smtp服务器,
...
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
java.net.ConnectException: Connection timed out: connect
...
以上的报错信息可以看出在连接出现问题了。所以我才用telnet 试下看能不能telnet到 smtp服务器上,结果发现连接不成功。
而且我现在是只能telnet到 本地的路由器上 连局域网上的其他的机器都无法telnet上。
请问这个和 路由器的设置有关系吗?我一直觉得是不是路由器设置中关闭了telnet的这种远程访问,毕竟这种访问带来的危险还是非常大的。