MailerEJB.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package day21ex.mailer;
  2. import java.util.Date;
  3. import java.util.Locale;
  4. import java.util.Properties;
  5. import javax.naming.InitialContext;
  6. import javax.activation.DataHandler;
  7. import javax.mail.Message;
  8. import javax.mail.MessagingException;
  9. import javax.mail.Transport;
  10. import javax.mail.Session;
  11. import javax.mail.Multipart;
  12. import javax.mail.internet.MimeMultipart;
  13. import javax.mail.internet.MimeBodyPart;
  14. import javax.mail.internet.MimeMessage;
  15. import javax.mail.internet.InternetAddress;
  16. import java.rmi.RemoteException;
  17. import javax.ejb.EJBException;
  18. import javax.ejb.FinderException;
  19. import javax.ejb.SessionBean;
  20. import javax.ejb.SessionContext;
  21. // Session Bean implementation of MailerEJB.
  22. // Used to send a mail message confirmation such as an email
  23. // to a student after a registration into courses is completed.
  24. public class MailerEJB implements SessionBean {
  25.    private Session mailSession = null;
  26.    public void sendMail(String to, String body)throws URSMailerException {
  27.       try {
  28.          MimeMessage msg = new MimeMessage(mailSession);
  29.          msg.setFrom();
  30.          InternetAddress dest = new InternetAddress(to);
  31.          msg.setSubject("Testing STYEJB JavaMail");
  32.          msg.setRecipient(Message.RecipientType.TO, dest);
  33.          msg.setSentDate(new Date());
  34.          msg.setHeader("X-Mailer", "JavaMailer");
  35.          msg.setContent(body, "text/plain");
  36.          Transport.send(msg);
  37.       } catch (Exception e) {
  38.          e.printStackTrace();
  39.          throw new URSMailerException("Failure while sending email");
  40.       }
  41.    }
  42.    public void ejbCreate() {
  43.       try {
  44.          InitialContext ctx = new InitialContext();
  45.          mailSession = (Session) ctx.lookup("java:comp/env/mail/Mail");
  46.       } catch (javax.naming.NamingException e) {
  47.          e.printStackTrace();
  48.       }
  49.    }
  50.    public void ejbPostCreate() {}
  51.    public void ejbActivate() {}
  52.    public void ejbPassivate() {}
  53.    public void ejbRemove() {}
  54.    public void setSessionContext(javax.ejb.SessionContext ec) {}
  55. }