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

...全文
4508 10 打赏 收藏 转发到动态 举报
写回复
用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都没连上还谈什么用户名密码啊
适用人群通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。课程概述通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。   SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。。【开发者如何进行快速开发邮件发送系统???本课程系统进行快速研发,项目实战】 部分截图如下:完整版请查看课件或者视频

81,094

社区成员

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

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