关于javamail的错误,高手帮忙看看!

robyjeffding 2009-06-03 02:32:21
先帖一处代码

package com.mail.bean;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
/**
* 在javamail中,如果需要认证,对于程序员来说必须继承Authenticator抽象类
* @author Administrator
*
*/
public class MyAuthor extends Authenticator {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public MyAuthor(String password, String username) {
super();
this.password = password;
this.username = username;
}
public MyAuthor() {
super();
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,password);
}

}


package com.mail.test;

import java.util.Date;
import java.util.Properties;

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

import com.mail.bean.MyAuthor;
public class MailTest {
/**
* JAVA邮件测试(PS:没有成功过)
* @param args
*/
public static void main(String[] args) {
Properties p=new Properties();//该属性对象用来保存服务器的地址和发送协议及端口号
p.setProperty("mail.transport.protocol", "smtp");//确定发送协议
p.setProperty("mail.smtp.host","smtp.qq.com");//确定服务器地址
p.setProperty("mail.smtp.port","25");//确定服务器发送邮件协议smtp的端口号
p.setProperty("mail.smtp.auth","true");//确定是否安全认证,
String username="******";
String password="********";
MyAuthor auth=new MyAuthor(username,password);//根据用户名和密码构造认证对象
Session session=Session.getDefaultInstance(p,auth);//根据连接服务器的信息和认证对象来获取与服务器的会话
Message msg=new MimeMessage(session);//根据会话来构造消息
try {
msg.setFrom(new InternetAddress(username));//设置发件人地址
msg.setRecipient(RecipientType.TO, new InternetAddress(username));//设置收件人地址
msg.setSentDate(new Date());//设置发送时间
msg.setSubject("to myself");//设置消息的主题
msg.setText("use javamail send!");//设置消息的文本
Transport.send(msg);//发送消息
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}[code=Java]


}

[/code]
主方法运行时出错了!(Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream)
我加了了mail.jar包,里面是有LineInputStream这个对象,可为什么说没有找到了?
错误信息如下:

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.Session.loadProvidersFromStream(Session.java:928)
at javax.mail.Session.access$000(Session.java:174)
at javax.mail.Session$1.load(Session.java:870)
at javax.mail.Session.loadResource(Session.java:1084)
at javax.mail.Session.loadProviders(Session.java:889)
at javax.mail.Session.<init>(Session.java:210)
at javax.mail.Session.getDefaultInstance(Session.java:299)
at com.mail.test.MailTest.main(MailTest.java:30)


解救高手了?
...全文
90 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sou2012 2009-06-07
  • 打赏
  • 举报
回复
少包了
qiheia 2009-06-06
  • 打赏
  • 举报
回复
删除Java EE 5 Libraries/javaee.jar/mail里的包的东西。。

具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,然后删除mail,试试.
robyjeffding 2009-06-06
  • 打赏
  • 举报
回复
高手啊,真情呼唤你啊!

81,122

社区成员

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

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