javamail 连接不上smtp,什么问题?

binghc 2012-05-25 01:30:37

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class demo01 {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
Session session = Session.getInstance(props);
session.setDebug(true);
Message msg = new MimeMessage(session);


msg.setFrom(new InternetAddress("test@163.com"));
msg.setText("这是邮件内容");

Transport transport = session.getTransport();

transport.connect("smtp.163.com", 25, "test", "123456");
transport.send(msg,new Address[]{new InternetAddress("xingguang_2010@163.com")});
transport.close();

}

}



运行后报了以下错什么原因(不管运行多少次,都报一样的错)


DEBUG: setDebug: JavaMail version 1.4.5
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.163.com", port 25, isSSL false
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25;
nested exception is:
java.net.SocketException: Permission denied: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:295)
at demo01.main(demo01.java:26)
Caused by: java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(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:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 3 more

...全文
4545 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangling12374 2013-07-11
  • 打赏
  • 举报
回复
哥们你这个问题解决了没?是什么原因?我也出现这个问题了,帮帮忙
默默_MYW 2012-12-11
  • 打赏
  • 举报
回复
安全连接要用端口465
cstur4 2012-05-26
  • 打赏
  • 举报
回复
这里的错误是账号密码不正确引起的,不过修改后还会出问题,原因是邮箱的安全认证,建议使用126邮箱进行测试。
fanyuanwaifdl 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

账户密码错误,自己去申请一个账号吧
[/Quote]饿
古布 2012-05-25
  • 打赏
  • 举报
回复
test@163.com"
"test", "123456"

上面的邮箱,用户名,密码对吗?
binghc 2012-05-25
  • 打赏
  • 举报
回复
那不废话么,我用手工telnet smtp.163.com 25 正常啊
cz4416 2012-05-25
  • 打赏
  • 举报
回复
弱弱的问一句:你联网了吗?
cstur4 2012-05-25
  • 打赏
  • 举报
回复
账户密码错误,自己去申请一个账号吧
binghc 2012-05-25
  • 打赏
  • 举报
回复
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com
smtp都没连上还谈什么用户名密码啊

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧