ieanwfg201
2009-12-17 17:47 阅读 1.0k
已采纳

无法访问smtp 服务器。只能Ping到但是不能telnet到。

我现在正在做一个发送邮件的练习,但是测试后发现老不能登陆上服务器,在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的这种远程访问,毕竟这种访问带来的危险还是非常大的。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    iteye_8658 iteye_8658 2009-12-18 18:49

    你首先得想办法能连接smpt服务器。这个问题在这里估计很难得到答案。

    点赞 评论 复制链接分享
  • iteye_8658 iteye_8658 2009-12-17 23:15

    telnet smtp.sina.com 25

    点赞 评论 复制链接分享
  • iteye_8658 iteye_8658 2009-12-18 12:13

    我在自己的机器上试过telnet smtp.sina.com 25, 可以连接的。是不是你的测试环境有问题,还是dns解析的问题。

    你是想用自己的服务器发邮件吗? 如果是那样,你自己搞一个服务器,并运行正常就可以了。

    点赞 评论 复制链接分享

相关推荐