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;
}
}
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;
}
}
解决方案 »
- 邮件中附件是否需要保存到服务器?
- 求救,我做了一个发送图片的发送端和接收端,但是可能是因为接收端的一些问题导致不能让JTextPane按路径显示图片,在这里求救各位JAVA高手
- 这个符号是什么意思??
- JFrame中setEnabled的问题,实在无法解决
- 请教正则表达式问题
- jsp中bean的简单问题,有解就结帖
- applet问题
- 请教一下关于位操作在JAVA里的应用,一直不太明白这个,请问在JAVA中位操作都有哪些应用呢?最好有例子,不胜感激!
- ***** 800分 求教: 我不想通过页面 context.lookup("java:/OracleDS"), UP有分 *****
- 将DataOutputStream.writeBytes(byte[])写完后,如何能够显示出DataOutputStream中的内容?如何知道写入bytes的大小?
- 堆栈问题
- 100分跪求“回复”,小弟目前开发IM系统,要求实现类似QQ显示消息框中的超链接。
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
然后把上面的内容粘进去.