package com.asql.base; import Java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class MailSender { public final static boolean sendMail(LoadLog sendlog,String smtphost,String mailfrom, boolean mailauth,String mailuser,String mailpassWord, String mailto,String mailcc,String mailsubject, String mailmessage,String mailattach) { MimeMessage mimeMsg; MimeMultipart mp; Session session; String sep[]={";"}; Properties props=new java.util.Properties(); int i; props.put("mail.smtp.host",smtphost); try{ session = Session.getDefaultInstance(props,null); mimeMsg = new MimeMessage(session); mp = new MimeMultipart(); if(mailauth) props.put("mail.smtp.auth","true"); else props.put("mail.smtp.auth","false"); if (sendlog!=null) sendlog.println("Mail Host Address: "+smtphost); } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage()); return false; } try { mimeMsg.setFrom(new InternetAddress(mailfrom)); if (sendlog!=null) sendlog.println("Mail From Address: "+mailfrom); } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage()); return false; } try{ java.util.Vector temp = WordsConvert.getWords(mailto,sep); if (temp.size()==0) { if (sendlog!=null) sendlog.println("Mail Target Address Requried."); return false; } Address toaddress[] = new Address[temp.size()]; for(i=0;i toaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0]; mimeMsg.setRecipients(Message.RecipientType.TO,toaddress); if (sendlog!=null) sendlog.println("Mail To Address: "+mailto); } catch(Exception e) { if (sendlog!=null) sendlog.println("Error Mail To,"+e); return false; } if(mailcc != null && mailcc.length()>0) { try{ java.util.Vector temp = WordsConvert.getWords(mailcc,sep); if (temp.size()>0) { Address ccaddress[] = new Address[temp.size()]; for(i=0;i ccaddress[i]=InternetAddress.parse(temp.elementAt(i).toString())[0]; mimeMsg.setRecipients(Message.RecipientType.CC,ccaddress); if (sendlog!=null) sendlog.println("Mail Cc Address: "+mailcc); } } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage()); return false; } } try { mimeMsg.setSubject(mailsubject,"GB2312"); BodyPart bp = new MimeBodyPart(); bp.setContent(""+ mailmessage,"text/html;charset=GB2312"); mp.addBodyPart(bp); } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage()); return false; } if(mailattach != null && mailattach.length()>0) { try{ java.util.Vector temp = WordsConvert.getWords(mailattach,sep); for(i=0;i { MimeBodyPart bp = new MimeBodyPart(); FileDataSource fileds = new FileDataSource(temp.elementAt(i).toString()); DataHandler dh = new DataHandler(fileds); bp.setDisposition(Part.ATTACHMENT); bp.setFileName(fileds.getName()); bp.setDataHandler(dh); mp.addBodyPart(bp); } } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage()); return false; } } try{ mimeMsg.setContent(mp); mimeMsg.saveChanges(); Session mailSession = Session.getInstance(props,null); Transport transport = mailSession.getTransport("smtp"); transport.connect((String)props.get("mail.smtp.host"),mailuser,mailpassword); transport.sendMessage(mimeMsg,mimeMsg.getAllRecipients()); if (sendlog!=null) sendlog.println("Mail SUCcessfully Sended!"); transport.close(); } catch(Exception e) { if (sendlog!=null) sendlog.println(e.getMessage());; return false ; } return true; } }
|