package webmail;import java.util.Properties;import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import org.apache.log4j.*;
public class MailUserInfoBean {
URLName urlName;
Session mailSession;
Store store;
Folder currentFolder;
Message currentMsg;
public int deleteFolder(String foldername){
if(foldername.equalsIgnoreCase("inbox")||foldername.equalsIgnoreCase("trash")||foldername.equalsIgnoreCase("draft")||foldername.equalsIgnoreCase("sendbox")){
log4j.logger.debug("你要删除邮件夹是不被允许的!");
return JMailUtil.REFUSED;
}
try{
Folder folder=store.getFolder(foldername);
if(!folder.exists()){
log4j.logger.debug("你要删除邮件夹不存在!");
return JMailUtil.FAILED;
}
if(folder.isOpen()){
folder.close(true);
}
folder.delete(true);
}catch(MessagingException e){
Log4j.logger.debug("删除邮件夹失败!");
e.printStackTrace();
return JMailUtil.FAILED;
}
Log4j.logger.info("文件夹"+foldername+"被删除!");
return JMailUtil.SUCCESS;
}
public int deleteMessage(int delArray[],Folder f){
try{
for(int i=0;i<delArray.length;i++){
if(delArray[i]==0)continue;
Message delMsg=f.getMessage(i+1);
if(f.getName().equals("Trash")){
Message[] m=new Message[1];
m[0]=delMsg;
Folder Trash=store.getFolder("Trash");
f.copyMessages(m, Trash);
delMsg.setFlag(Flags.Flag.DELETED,true);

}else{
delMsg.setFlag(Flags.Flag.DELETED, true);
}
}
f.expunge();
}catch(Exception e){
e.printStackTrace();
Log4j.logger.debug("删除邮件失败!"+e);
return JMailUtil.FAILED;
}
Log4j.logger.info("邮件被成功删除!");
return JMailUtil.SUCCESS;
}
public int sendMessage(Message msg){
try{
Transport.send(msg);
Folder f=store.getFolder("Sendbox");
if(!f.isOpen())
f.open(Folder.READ_WRITE);
Message m[]=new Message[1];
m[0]=msg;
f.appendMessages(m);
}catch(MessagingException e1){
e1.printStackTrace();
Log4j.logger.debug("发送邮件失败!"+e1);
}
Log4j.logger.info("发送邮件成功!");
return  JMailUtil.SUCCESS;
}
public int connect(String host,String user,String pass){
Properties prop=null;
prop=System.getProperties();
prop.put("mail.transport.protocol","smtp");
prop.put("mail.store.protocol", "imap");
prop.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport");
prop.put("mail.imap.class", "com.sun.mail.imap.IMAPStore");
prop.put("mail.smtp.host", "localhost");
this.mailSession=Session.getDefaultInstance(prop, null);
try{
this.store=this.mailSession.getStore("imap");
this.store.connect(host, user, pass);
Log4j.logger.info("The Store is connected!");
}catch(NoSuchProviderException e){
e.printStackTrace();
Log4j.logger.debug("Get a Store error");
Log4j.logger.debug(e);
return JMailUtil.FAILED;
}catch(MessagingException e){
Log4j.logger.debug("Get a Store error");
e.printStackTrace();
Log4j.logger.debug(e);
return JMailUtil.FAILED;
}
return JMailUtil.SUCCESS;
}
}

解决方案 »

  1.   


    log4j.properties
    放在项目的src目录下,设置日志级别#log4j.rootLogger=DEBUG,A1,R
    log4j.rootLogger=INFO,A1,Rlog4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=test.txt
    log4j.appender.R.MaxFileSize=500KB
    log4j.appender.R.MaxBackupIndex=10
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n#log4j.logger.com.opensymphony=INFO
    #log4j.logger.org.apache.struts2=DEBUG
    #log4j.logger.com.laoer=DEBUG
    #log4j.logger.com.danga=ERROR
      

  2.   

    没看懂啊 你的意思是在工程下建一个log4j.properties?
      

  3.   

    在src下建立log4j.properties
    然后把上面的内容粘进去.