| Author |
FileNotFoundException while sending Mail as attachment using javamail
|
Param Ramli
Greenhorn
Joined: Dec 27, 2002
Posts: 2
|
|
hi there, I have used a jsp page which calls a java bean to send mail with attachment.The bean uses Javamail API's to do this.But i encountered a FileNotFoundException when i did run the jsp file ,even as the file selected to be attached was present. Please inform me where has it gone wrong. i have enclosed my files below, sendMailAttachment.html -------------------------- <html> <body> <center> <b>SendMail with Attachment</b> <form action="mailer.jsp" method="post"> <table width=50% border=1 cellspacing=0 cellpadding=3 bgcolor=#F2F2F2> <tr> <td width=40%><b>From :</b></td><td><input type="text" name="from"></td> </tr> <tr> <td width=40%><b>To :</b></td><td><input type="text" name="to" ></td> </tr> <tr> <td width=40%><b>Subject :</b></td><td><input type="text" name="subject" ></td> </tr> <tr><td width=40%><b>Attachment :</b></td><td><input type="file" name="path" ></td> </tr> <tr> <td width=40%><b> Message :</b></td><td> <textarea rows="8" cols="50" name="message"></textarea></td> </td> </tr> </table> <br> <input type="submit" value="Send"></input> </center> </form> </div> </body> </html> mailer.jsp ----------- <%@ page language="java" import = "jspbean.MailerBean" %> <html> <body> <% String to=request.getParameter("to"); String from=request.getParameter("from"); String message=request.getParameter("message"); String subject=request.getParameter("subject"); String path=request.getParameter("path"); %> <jsp:useBean id="mailer" class="jspbean.MailerBean"> <jsp:setProperty name="mailer" property="*"/> </jsp:useBean> <% if(path.length()==0) path=null; out.println(path); mailer.sendMail(path); %> <br><center>Email has been sent successfully to <%= to %>.<br> </div> </body> </html> MailerBean.java ------------------ package jspbean; import java.io.*; import java.util.*; import java.util.Properties; import javax.mail.*; import javax.mail.event.*; import javax.mail.internet.*; import javax.activation.*; public final class MailerBean extends Object implements Serializable { /* Bean Properties */ private String to = null; private String from = null; private String host = "192.168.1.1"; private String subject = null; private String message = null; //private String path = null; public static Properties props = null; public static Session session = null; /* Setter Methods */ public void setTo(String to) { this.to = to; } public void setFrom(String from) { this.from = from; } public void setSubject(String subject) { this.subject = subject; } public void setMessage(String message) { this.message = message; } //public void setfilepath(String path) { //this.path = path; //} /* Sends Email */ public void sendMail(String path) throws Exception { String filepath=path; if(!this.everythingIsSet()) throw new Exception("Could not send email."); try { props = System.getProperties(); props.put("mail.smtp.host",host); session = Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session); message.setRecipient(Message.RecipientType.TO, new InternetAddress(this.to)); message.setFrom(new InternetAddress(this.from)); message.setSubject(this.subject); if(filepath!=null) { //create the message part MimeBodyPart messageBodyPart= new MimeBodyPart(); messageBodyPart.setText(this.message); Multipart multipart= new MimeMultipart(); multipart.addBodyPart(messageBodyPart); //part two is attachment messageBodyPart= new MimeBodyPart(); FileDataSource source= new FileDataSource(filepath); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filepath); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); } else { message.setText(this.message); } Transport.send(message); } catch (MessagingException e) { throw new Exception(e.getMessage()); } } /* Checks whether all properties have been set or not */ private boolean everythingIsSet() { if((this.to == null) ||(this.from==null)|| (this.subject == null) || (this.message == null)) return false; if((this.to.indexOf("@") == -1) || (this.to.indexOf(".") == -1)) return false; if((this.from.indexOf("@") == -1) || (this.from.indexOf (".") == -1)) return false; return true; } }
|
 |
Michael Morris
Ranch Hand
Joined: Jan 30, 2002
Posts: 3451
|
|
|
Moving this to the JSP forum.
|
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher
|
 |
 |
|
|
subject: FileNotFoundException while sending Mail as attachment using javamail
|
|
|