boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
String bodytxt="";
String from="";
String to="";
String cc=null;
String bcc=null;
String subject="";
String itemid = null;
boolean attachmentFile = false;
try{
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List items = upload.parseRequest(request);
Iterator it = items.iterator();
while(it.hasNext()){
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
if("body".equals(item.getFieldName()))
bodytxt=item.getString();
else if("from".equals(item.getFieldName()))
from=item.getString();
else if("to".equals(item.getFieldName()))
to=item.getString();
else if("cc".equals(item.getFieldName()))
cc=item.getString();
else if("bcc".equals(item.getFieldName()))
bcc=item.getString();
else if("subject".equals(item.getFieldName()))
subject=item.getString();
else if("itemid".equals(item.getFieldName()))
itemid=item.getString();
}
else{
}
System.out.println("é "+item.getFieldName());
}
Properties props = new Properties();
props.put("mail.smtp.host","172.30.68.80");
props.put("mail.smtp.port","25");
props.put("mail.mime.charset","UTF-8");
Session session = Session.getInstance(props,null);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
try{
msg.setFrom(new InternetAddress(from));
} catch (AddressException e) {
request.setAttribute("error","1");
request.getRequestDispatcher("mail.jsp").forward(request, response);
}
InternetAddress[] tos = null;
try{
tos = InternetAddress.parse(to);
}catch (AddressException e) {
request.setAttribute("error","2");
request.getRequestDispatcher("mail.jsp").forward(request, response);
}
if(tos==null){
request.setAttribute("error","2");
request.getRequestDispatcher("mail.jsp").forward(request, response);
}
msg.setRecipients(Message.RecipientType.TO,tos);
try{
if(cc != null)
{
InternetAddress[] ccs =
InternetAddress.parse(cc);
msg.setRecipients(Message.RecipientType.CC,ccs);
}
}catch (AddressException e) {
request.setAttribute("error","3");
request.getRequestDispatcher("mail.jsp").forward(request, response);
}
try{
if(bcc != null)
{
InternetAddress[] ccs = InternetAddress.parse(bcc);
msg.setRecipients(Message.RecipientType.BCC,ccs);
}
}catch (AddressException e) {
request.setAttribute("error","4");
request.getRequestDispatcher("mail.jsp").forward(request, response);
}
msg.setSubject(subject);
msg.setSentDate(new Date());
if(!attachmentFile){
msg.setText(new String(bodytxt.getBytes(),"UTF-8"),"UTF-8");
// msg.setText(bodytxt);
}
else
{
// BodyPart bodyencode = new MimeBodyPart();
// MimeBodyPart body = new MimeBodyPart(),
// attachment = (MimeBodyPart)fields.get("attachment");
// body.setText(bodytxt);
//
// MimeMultipart multipart = new MimeMultipart();
// MimeMultipart multipartencode = new MimeMultipart();
// multipart.addBodyPart(body);
// multipart.addBodyPart(attachment);
// multipartencode.addBodyPart(bodyencode);
// multipartencode.addBodyPart(attachment);
// msg.setContent(multipart);
}
Transport.send(msg);
}
catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch(SecurityException e ){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Partager