龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

在Java中发送邮件的一个相当完善的脚本

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
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

  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;
    }
  }
  
精彩图集

赞助商链接