关于javamail的一个问题

VinceJava 2013-03-24 06:59:41
首先,我可以绝对的确定使用javamail登录了QQ邮箱,因为如果我把qq邮箱的smtp关掉他会告诉我 需要先开启smtp功能
但是前面运行全部正常就到最后,报一个异常。
如下是java代码
Properties pro = new Properties();
MimeMultipart mul = new MimeMultipart();
MimeBodyPart body = new MimeBodyPart();
pro.put("mail.smtp.host", "smtp.qq.com");
pro.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(pro);
MimeMessage message = new MimeMessage(session);
session.setDebug(true);
try {
message.setFrom(new InternetAddress("283854484"));
message.setSubject("这是邮件标题");
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
"***@163.com"));

body.setContent("这是邮件内容内容内容内容内容内容内容内容", "text/html");
mul.addBodyPart(body);
message.setContent(mul);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.qq.com", "283854484@qq.com",
"***");
Transport.send(message);

如下是debug 中代码:

DEBUG: setDebug: JavaMail version 1.4ea
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.qq.com", port 25, isSSL false
220 smtp.qq.com Esmtp QQ Mail Server
DEBUG SMTP: connected to host "smtp.qq.com", port: 25
EHLO R6H8758VZL71U2C
250-smtp.qq.com
250-PIPELINING
250-SIZE 52428800
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN
250-MAILCOMPRESS
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "52428800"
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg ""
DEBUG SMTP: Found extension "MAILCOMPRESS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5
AUTH LOGIN
334 VXNlcm5hbWU6
MjgzODU0NDg0QHFxLmNvbQ==
334 UGFzc3dvcmQ6
MTM1NTIxMTgzMjZkZGl4Yw==
235 Authentication successful
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
前面提示都没什么问题,最后就硬生生的抛异常
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at cn.itcast.jframe.SendUtils.send(SendUtils.java:35)
at cn.itcast.jframe.SendUtils.main(SendUtils.java:44)
求解释啊!!
在线各种等!
腾讯的 网易的 新浪的 我都试了。
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomosun 2013-04-02
  • 打赏
  • 举报
回复
会不会是你频繁登录?
FunnyRabbit87 2013-04-02
  • 打赏
  • 举报
回复
参考2 3楼。 首先确定下用户名 密码是否正确。 其次,如果你频繁连接,或者短时间内发送大量邮件,都会引起邮箱那边的反垃圾或者其他安全措施。 之前连接163的,频繁连接和for循环里不停的发好几份邮件,就163的邮箱就会有类似措施,然后就抛出这类异常了。
-AJ- 2013-03-25
  • 打赏
  • 举报
回复
javax.mail.AuthenticationFailedException 用户名 或者 密码错误
ylovep 2013-03-25
  • 打赏
  • 举报
回复
楼主百度试一试

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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