Developing
the MultiPart E-Mail Message Sender Bean
Gopalan Suresh Raj
Note |
To
work with any of these samples, you will need the
following: .........................................JDK 1.1.7 or higher To work with the Servlets and JSP, you will need .........................................JSWDK 1.0.1 or higher To work with the Java Mail API, you will need .........................................JavaMail 1.1.3 or higher .........................................Java Activation Framework 1.0.1 or higher .........................................POP3 Provider 1.1.1 or higher |
1. Define your SendMultipartMessage class
Develop the Bean that actually constructs the Multipart Mime Message and actually sends out the email. Compile the file and create the class file.
The JSP Model 2
Architecture
(Model-View-Controller Based)
Figure shows what we are
trying to ultimately accomplish in these pages here.
EmailHandler\SendMultipartMessage.java |
package EmailHandler; import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendMultipartMessage implements java.io.Serializable { private EmailContents m_contents; public SendMultipartMessage (EmailContents contents) { m_contents = contents; } public EmailContents getContents () { return m_contents; } public boolean sendMail (String hostName) { boolean result = true; String element = null; Properties prop = new Properties(); prop.put("mail.smtp.host", hostName); Session session = Session.getDefaultInstance(prop, null); try { Message msg = new MimeMessage(session); InternetAddress from = new InternetAddress(m_contents.getFrom()); msg.setFrom(from); int count = 0; Vector toList = (Vector)((Vector)m_contents.getTo()).clone (); InternetAddress to[] = new InternetAddress [toList.size ()]; for (count = 0; count < toList.size (); count++) { element = (String)toList.elementAt (count); System.out.println("mail number "+count+" to:"+ element); to [count] = new InternetAddress (element); } msg.setRecipients(Message.RecipientType.TO, to); Vector ccList = (Vector)((Vector)m_contents.getCc()).clone (); InternetAddress cc[] = new InternetAddress [ccList.size ()]; for (count = 0; count < ccList.size (); count++) { element = (String)ccList.elementAt (count); System.out.println("mail number "+count+" cc:"+ element); cc [count] = new InternetAddress (element); } msg.setRecipients(Message.RecipientType.CC, cc); Vector bccList = (Vector)((Vector)m_contents.getBcc()).clone (); InternetAddress bcc[] = new InternetAddress [bccList.size ()]; for (count = 0; count < bccList.size (); count++) { element = (String)bccList.elementAt (count); System.out.println("mail number "+count+" bcc:"+ element); bcc [count] = new InternetAddress (element); } msg.setRecipients (Message.RecipientType.BCC, bcc); msg.setSubject (m_contents.getSubject ()); MimeBodyPart mimeBodyPart = new MimeBodyPart (); mimeBodyPart.setContent (m_contents.getBody (), "text/html"); Multipart multiPart = new MimeMultipart (); multiPart.addBodyPart (mimeBodyPart); msg.setContent (multiPart); Transport.send (msg); } catch(MessagingException me) { me.printStackTrace(); result = false; } return result; } } |
2. Create a Directory called "EmailHandler" on the "jswdk-1.0.1\examples\WEB-INF\jsp\beans\" directory and Copy this JSP page there.
click here to go to
My JSP/Servlets HomePage...
About the Author... |
Gopalan Suresh Raj is a Software Architect, Developer and an active Author. He is contributing author to a couple of books "Enterprise Java Computing-Applications and Architecture" and "The Awesome Power of JavaBeans". His expertise spans enterprise component architectures and distributed object computing. Visit him at his Web Cornucopia© site (http://www.execpc.com/~gopalan) or mail him at gopalan@execpc.com. |
This site was developed and is maintained by Gopalan Suresh Raj This page has been visited times since September 21,1998. |
Last Updated : Dec 19, '98 |
Copyright (c) 1997-2000, Gopalan Suresh Raj - All rights reserved. Terms of use. |
All products and companies mentioned at this site are trademarks of their respective owners. |