STRUTS Action中調用自己寫的發郵件的類時出錯,但在類中用Main方法就可以成功!javamail

kkdong 2006-04-03 05:53:42
我在STRUTS用javamail ,儅我在ACTION中調用自己編寫的類MyEmail時,抛出了錯誤,NoClassDefFoundError! 但是我在MyEmail中寫了Main方法測試就可以成功!

Class MyEmail
///////////////////////////
import java.util.Date;
import java.util.Locale;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.SendFailedException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.struts.util.MessageResources;
public class MyMail {
public Session session = null;
//Email userName
String mailUser = "dong";
String host = "smtp.21cn.com";
String pwd = "XXXXXXXXX";
String test = "";
// String mailUser = "dong-boy";
// String host = "65.54.244.104";
// String pwd = "";
public MyMail(){
init();

}
public MyMail(String test){
this.test = test;
}
public void init(){
Properties props = new Properties();
props.put("mail.transpost.protocol","smtp");
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
props.put("mail.smtp.port","25");
System.out.println("Autherticatorbean........before....");
Email_Autherticatorbean auth = new Email_Autherticatorbean(mailUser,pwd);
System.out.println("Autherticatorbean........after......");
session = Session.getInstance(props,auth);
//session = Session.getInstance(props);
session.setDebug(true);

}
public void sendMails(){
try{
Message msg = new MimeMessage(session);
//msg.setFrom();

msg.setFrom(new InternetAddress(test+"<dongdlhdlh@21cn.com>"));
// msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse("dong-boy@21cn.com"));
// msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse("dongdlhdlh@21cn.com"));
// msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse("dongdlhdlh@yahoo.com.cn"));


// msg.setFrom(new InternetAddress("dong-boy@hotmail.com"));
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse("dong-boy@hotmail.com"));
//msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse("dong-boy@21cn.com"));
msg.setSentDate(new Date());
msg.setSubject("this is my 3 mail "+new Date());
msg.setContent("this is my mail","text/html");
msg.setText("my success!!ha ha ha ha ~");
Transport transport = session.getTransport("smtp");
transport.connect(host,mailUser,pwd);
transport.send(msg);

}catch(SendFailedException e){
e.printStackTrace();
}
catch(Exception e){
e.printStackTrace();

}

}



// public static void main(String[] args){
// System.out.println("MyMail......");
// MyMail mymail = new MyMail();
// mymail.sendMails();
// }









}



//////////////
classEmail_Autherticatorbean
///////////////////////////////////////////
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class Email_Autherticatorbean extends Authenticator {
private String m_username = null;
private String m_userpass = null;
public String getM_username() {
return m_username;
}
public void setM_username(String m_username) {
this.m_username = m_username;
}
public String getM_userpass() {
return m_userpass;
}
public void setM_userpass(String m_userpass) {
this.m_userpass = m_userpass;
}
public Email_Autherticatorbean(String username,String userpass){
super();
setM_username(username);
setM_userpass(userpass);

}
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(m_username,m_userpass);

}
...全文
187 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
z80016144 2006-04-10
  • 打赏
  • 举报
回复
看到繁体不爽 路过
kkdong 2006-04-10
  • 打赏
  • 举报
回复
加了新的JAR但是還有錯誤!
java.lang.NoClassDefFoundError
javax.activation.MailcapCommandMap.loadFile(MailcapCommandMap.java:188)
javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:139)
javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:55)
javax.activation.DataHandler.getCommandMap(DataHandler.java:146)
javax.activation.DataHandler.getDataContentHandler(DataHandler.java:578)
javax.activation.DataHandler.getContent(DataHandler.java:511)
javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1020)
javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1841)
javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1822)
com.crystal.util.Email.sendout(Email.java:172)
com.crystal.util.Email.send(Email.java:220)
com.crystal.module.admin.action.EmailAction.doSend(EmailAction.java:83)
com.crystal.module.admin.action.EmailAction.execute(EmailAction.java:58)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
jingmingblog 2006-04-07
  • 打赏
  • 举报
回复
两个文件已经给你发过去了,试试吧。
kkdong 2006-04-07
  • 打赏
  • 举报
回复
有无人啊~
快点帮帮我吧~!
55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
kkdong 2006-04-06
  • 打赏
  • 举报
回复
大俠阿~救救我吧!!!
kkdong 2006-04-05
  • 打赏
  • 举报
回复
我一開始就已經加了~但還是不行,不知道是什麽原因~難道是我的JAR包不對!
如果可以的話請發activation.jar 和 mail.jar給我!
dong-boy@hotmail.com
MagicianLiu 2006-04-05
  • 打赏
  • 举报
回复
工程下的WEB-INF/lib。让如jar包
kkdong 2006-04-05
  • 打赏
  • 举报
回复
自己再頂,希望有人幫手!
kkdong 2006-04-04
  • 打赏
  • 举报
回复
你好!我在STRUTS ACTION中调用自己写的发邮件的CLASS,出错!
javax.servlet.ServletException: Servlet execution threw an exception

java.lang.NoClassDefFoundError: javax/mail/SendFailedException
com.crystal.module.admin.action.EmailAction.doSend(EmailAction.java:89)
com.crystal.module.admin.action.EmailAction.execute(EmailAction.java:67)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.crystal.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:86)
moremoney 2006-04-04
  • 打赏
  • 举报
回复
你把抛出来的异常打印给大家看啊
kkdong 2006-04-04
  • 打赏
  • 举报
回复
自己頂,希望有高手指點!
kkdong 2006-04-04
  • 打赏
  • 举报
回复
你所指的系统LIB是?
工程下的LIB
TOMCAT下common 的LIB
TOMCAT下server 的LIB
TOMCAT下shared 的LIB
还是其它的地方?
fxltsbl 2006-04-04
  • 打赏
  • 举报
回复
java mail包没有导入系统lib下

67,513

社区成员

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

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