From 271895789a5c50120e052cd895e294e90ea1a14b Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Sat, 25 Jun 2005 01:48:49 +0000 Subject: [PATCH] no message git-svn-id: https://svn.coded.pt/svn/SIPRP@514 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../classes/siprp/pagina/MailerServlet.java | 4 ++ .../classes/siprp/pagina/RecruitServlet.java | 61 +++++++++++++++++-- trunk/html/conteudos/colaboradores_text.html | 4 +- trunk/html/frame_erro.html | 2 +- 4 files changed, 64 insertions(+), 7 deletions(-) diff --git a/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java b/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java index 6ed82fb6..378557c6 100644 --- a/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java +++ b/trunk/WEB-INF/classes/siprp/pagina/MailerServlet.java @@ -6,6 +6,7 @@ package siprp.pagina; +import javax.activation.*; import java.io.*; import java.util.*; @@ -15,6 +16,7 @@ import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; +import org.apache.commons.mail.*; import org.apache.velocity.*; import org.apache.velocity.app.*; @@ -180,6 +182,8 @@ public class MailerServlet extends HttpServlet multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); + messageBodyPart.setDataHandler( + new DataHandler( new ByteArrayDataSource( attachment, "/siprpWeb/test.txt" ))); // DataSource source = new ByteDataSource(attachment); // messageBodyPart.setDataHandler( // new DataHandler(source)); diff --git a/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java b/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java index ea570231..913310f3 100644 --- a/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java +++ b/trunk/WEB-INF/classes/siprp/pagina/RecruitServlet.java @@ -12,6 +12,8 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; +import org.apache.commons.fileupload.*; + /** * * @author psantos @@ -31,13 +33,55 @@ public class RecruitServlet extends MailerServlet }; public void doPost( HttpServletRequest req, HttpServletResponse res ) - throws IOException + throws IOException { + Hashtable parameters; + String fileName = ""; + byte file[] = new byte[0]; + boolean isMultipart = FileUpload.isMultipartContent( req ); + ServletOutputStream out = res.getOutputStream(); res.setContentType( "text/html" ); + + if( isMultipart ) + { + parameters = new Hashtable(); + DiskFileUpload upload = new DiskFileUpload(); + upload.setSizeThreshold(1000000); + upload.setSizeMax(1000000); + List items; + try + { + items = upload.parseRequest(req); + } + catch( FileUploadException ex ) + { + out.println( showResultPage( false, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) ); + return; + } + Iterator iter = items.iterator(); + while( iter.hasNext() ) + { + FileItem item = (FileItem) iter.next(); - Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) ); - + if (item.isFormField()) + { + String name = item.getFieldName(); + String value = item.getString(); + parameters.put( name, value ); + } + else + { + String fieldName = item.getFieldName(); + fileName = item.getName(); + file = item.get(); + } + } + } + else + { + parameters = parseParameters( new Hashtable( req.getParameterMap() ) ); + } String content = createContent( parameters, FORM_FIELDS, "mail/envio_cv.txt" ); String from = ( String ) parameters.get( REC_EMAIL ); @@ -49,9 +93,18 @@ public class RecruitServlet extends MailerServlet String destination = email; String subject = "Envio de CV através do site www.siprp.pt"; // manda mail - boolean success = sendMail( from, destination, subject, content, false ); + boolean success; + if( isMultipart ) + { + success = sendMail( from, destination, subject, content, false, fileName, file ); + } + else + { + success = sendMail( from, destination, subject, content, false ); + } // mostra pagina correspondente + out.println( showResultPage( success, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) ); } } diff --git a/trunk/html/conteudos/colaboradores_text.html b/trunk/html/conteudos/colaboradores_text.html index 8d2ab02a..1e73db31 100644 --- a/trunk/html/conteudos/colaboradores_text.html +++ b/trunk/html/conteudos/colaboradores_text.html @@ -16,7 +16,7 @@ Esta página dá acesso a funcionalidades exclusivas e confidenciais Junte-se a Nós