⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailuserdata.java

📁 应用java发送邮件的源码2个
💻 JAVA
字号:
package mypack;/** * This class is used to store session data for each user's session. It * is stored in the HttpSession. */import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;public class MailUserData {    URLName urlName;    Session session;    Store store;    Folder currFolder;    Message currMsg;    public MailUserData() {    }    public URLName getURLName() {	return urlName;    }    public void setURLName(URLName url){        urlName=url;    }    public Session getSession() {	return session;    }    public void setSession(Session s) {	session = s;    }    public Message getCurrMsg() {	return currMsg;    }    public void setCurrMsg(Message s) {	currMsg = s;    }    public Store getStore() {	return store;    }    public void setStore(Store s) {	store = s;    }    public Folder getCurrFolder() {	return currFolder;    }    public void setCurrFolder(Folder f) {	currFolder = f;    }    public void doDeleteFolder(String foldername )throws Exception {            //can't delete reserved folder            if(foldername.equalsIgnoreCase("inbox")||               foldername.equalsIgnoreCase("trash")||               foldername.equalsIgnoreCase("draft")||               foldername.equalsIgnoreCase("sendbox")){                   throw new Exception("Cann't delete reserved folder");}                Folder folder=store.getFolder(foldername);	        if(!folder.exists())throw new Exception("This folder does not exists");	        if(folder.isOpen())folder.close(true);	        folder.delete(true);  }    public void doCreateFolder(String foldername)throws Exception {        if(foldername==null || foldername.equals(""))          throw new Exception("You do not input new folder name when creating folder");        Folder folder=store.getFolder(foldername);        if(folder.exists())throw new Exception("This folder already exists");        folder.create(Folder.HOLDS_MESSAGES);    }     public void doRenameFolder(String fromname,String toname)throws Exception {      if(toname==null || toname.equals(""))          throw new Exception("You do not input new folder name when renaming folder");      //can't rename reserved folder      if(fromname.equalsIgnoreCase("inbox")||         fromname.equalsIgnoreCase("trash")||         fromname.equalsIgnoreCase("draft")||         fromname.equalsIgnoreCase("sendbox")||         toname.equalsIgnoreCase("inbox")||         toname.equalsIgnoreCase("trash")||         toname.equalsIgnoreCase("draft")||         toname.equalsIgnoreCase("sendbox")){             throw new Exception("Cann't rename reserved folder");}      Folder folderFrom=store.getFolder(fromname);      Folder folderTo=store.getFolder(toname);      if(!folderFrom.exists())throw new Exception("This folder does not exists");      if(folderFrom.isOpen())folderFrom.close(true);      folderFrom.renameTo(folderTo);  }  public void doDeleteMessage(int arrayOpt[],Folder f)throws Exception {     for(int i=0;i<arrayOpt.length;i++){        if(arrayOpt[i]==0)continue;        Message msg=f.getMessage(i+1);        if(!f.getName().equals("Trash")){            Message[] m=new Message[1];            m[0]=msg;            Folder Trash=store.getFolder("Trash");            f.copyMessages(m,Trash);            msg.setFlag(Flags.Flag.DELETED, true);        }else{            msg.setFlag(Flags.Flag.DELETED, true);        }     }      f.expunge();    } public Message doAssembleMessage(PMessage msg)throws Exception {  return doAssembleMessage(msg.getTo(),msg.getCC(),msg.getBCC(),msg.getSubject(),msg.getText()); }  public Message doAssembleMessage(String to,String cc,String bcc,String subj,String text)throws Exception {           Message msg = new MimeMessage(session);	   InternetAddress[] toAddrs = null, ccAddrs = null, bccAddrs=null;	   if (to != null) {		    toAddrs = InternetAddress.parse(to, false);	            msg.setRecipients(Message.RecipientType.TO, toAddrs);	   }else	    throw new MessagingException("No \"To\" address specified");	  if (cc != null) {	    ccAddrs = InternetAddress.parse(cc, false);	    msg.setRecipients(Message.RecipientType.CC, ccAddrs);	  }	  if (bcc != null) {	    bccAddrs = InternetAddress.parse(bcc, false);	    msg.setRecipients(Message.RecipientType.BCC, bccAddrs);	   }          if (subj != null)	    msg.setSubject(subj);           msg.setFrom(new InternetAddress(urlName.getUsername() + "@" +					        urlName.getHost()));           if (text != null)	    msg.setText(text);           return msg;  }  public void doSendMessage(PMessage pmsg)throws Exception { 	    Message msg=doAssembleMessage(pmsg);          //send message          Transport.send(msg);	  //save message in sendbox folder	   Folder f=store.getFolder("SendBox");	   if(!f.isOpen())f.open(Folder.READ_WRITE);            doAppendMessage(msg,f);    }      public void doAppendMessage(Message msg, Folder f)throws Exception{	        Message m[]=new Message[1];	        m[0]=msg;	        f.appendMessages(m);     }     public void doSaveMessage(PMessage pmsg)throws Exception { 	    Message msg=doAssembleMessage(pmsg);            //save message in draft folder	   Folder f=store.getFolder("Draft");	   if(!f.isOpen())f.open(Folder.READ_WRITE);            doAppendMessage(msg,f);   }    public void doMoveMessage(String toFolderName)throws Exception {            Folder folderFrom=currFolder;            Folder folderTo=store.getFolder(toFolderName);            if(!folderTo.exists())throw new Exception("Folder does not exist");            Message[] m=new Message[1];	    m[0]=currMsg;	    folderFrom.copyMessages(m,folderTo);            currMsg.setFlag(Flags.Flag.DELETED, true);            folderFrom.expunge();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -