//send email when received the message
//还要注意:两个MDB同时连接到一个dest,当发送消息时,先发布的那个MDB收到消息,而第二个MDB收不到消息package exam;import javax.ejb.*;
import javax.jms.*;
import javax.naming.*;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import java.util.*;
public class NotifyMDBBean implements MessageDrivenBean, MessageListener {
  MessageDrivenContext messageDrivenContext;
  public void ejbCreate() throws CreateException {
    /**@todo Complete this method*/
  }
  public void ejbRemove() {
    /**@todo Complete this method*/
  }
  public void onMessage(javax.jms.Message msg) {
    /**@todo Complete this method*/
    TextMessage tmsg = (TextMessage) msg;
    try{
     String strmsg = tmsg.getText();
     System.err.println(strmsg);
     StringTokenizer st = new StringTokenizer(strmsg,"-");
     String to = "[email protected]";
     String flg = "";
     //if (st.hasMoreTokens()) {
       flg = (String)st.nextElement();
       //to = (String)st.nextElement();
       to = (String)st.nextElement();
     //}
     String from = "[email protected]";
     String subject = "";
     String message = "";     if (flg.equals("fail")) {
       subject = "sorry,your enroll failed";
       message = "sorry,your enroll fails, please reenroll.";
     }else if (flg.equals("succeed")){
       subject = "your enroll succeed";
       message = "congratulations,your enroll succeed, we will send you the password and examid a few days later";
     }
     System.err.println(to);
     System.err.println(flg);
     try {
        // Get the Naming context
        Context ctx = new InitialContext();        // Lookup Mail Session
        Session mailSession = (Session) ctx.lookup("MailSession");        // Create New Internet Message Object
       javax.mail.Message mailmsg = new MimeMessage(mailSession);        // Create New Internet Address for Destination
        //to = "[email protected]";
        InternetAddress dest = new InternetAddress(to);        // Set Parameters for Message:
        mailmsg.setFrom(new InternetAddress("[email protected]"));
        mailmsg.setSubject(subject);
        mailmsg.setRecipient(Message.RecipientType.TO, dest);
        mailmsg.setContent(message, "text/plain");        // Send the Message:
        Transport.send(mailmsg);      }
      catch (Exception e) {
        e.printStackTrace();
      }    }catch(JMSException e){
      e.printStackTrace();
    }
  }
  public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext) {
    this.messageDrivenContext = messageDrivenContext;
  }
}