package steeven;
  /* Calss:  Sendmail Author: [email protected] QQ:     7461522 Date:   11/13/2001 Notes:         Find samples in main();         If you send mail only from/to intranet, change domain as u need. Setup:         1. change host, mailFooter */
 
  import java.util.*; import java.sql.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*;
  public class Sendmail extends Common{
    public String host = "smtpServer";              //smtp server   static String mailFooter = "\n\n\n此邮件由WebMail发送 http://www/mail.jsp\n\n";   String domain = "company";   boolean sessionDebug;
    Message msg;   Multipart multipart;
    public Sendmail() throws Exception{     Properties props = System.getProperties();     props.put("mail.host", host);     props.put("mail.transport.protocol", "smtp");     Session session = Session.getDefaultInstance(props, null);     // Set debug on the Session so we can see what is going on     // Passing false will not echo debug info, and passing true     // will.     session.setDebug(sessionDebug);     // Instantiate a new MimeMessage and fill it with the     // required information.     msg = new MimeMessage(session);     msg.setSentDate(new java.util.Date());     multipart = new MimeMultipart();     msg.setContent(multipart);   }   public Sendmail(String to, String from, String subject, String body) throws Exception{     this();     this.setSendTo(to);     this.setFrom(from);     this.setSubject(subject);     this.setBody(body);   }   public Sendmail(String[] to, String from, String subject, String body) throws Exception{     this();     this.setSendTo(to);     this.setFrom(from);     this.setSubject(subject);     this.setBody(body);   }   public void setHost(String host) throws Exception{     this.host=host;   }   void setFrom(String from) throws Exception{     msg.setFrom(new InternetAddress(from+"@"+domain));   }   void setSendTo(String[] to) throws Exception{     for (int i=0;i<to.length;i++)       setSendTo(to[i]);   }   void setSendTo(String to) throws Exception{ //        System.out.println("sending mail to :"+to[i]);     InternetAddress[] address = {new InternetAddress(to + "@"+domain)};     msg.setRecipients(Message.RecipientType.TO, address);   }   void setCopyTo(String[] to) throws Exception{     for (int i=0;to!=null && i<to.length;i++)       setCopyTo(to[i]);   }   void setCopyTo(String to) throws Exception{ //        System.out.println("Copying mail to :"+to[i]);     InternetAddress[] address = {new InternetAddress(to +"@"+ domain)};     msg.setRecipients(Message.RecipientType.CC, address);   }   void setSubject(String subject) throws Exception{     sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();     msg.setSubject("=?GB2312?B?"+enc.encode(subject.getBytes())+"?=");   }   void setBody(String body) throws Exception{       MimeBodyPart messageBodyPart = new MimeBodyPart();       messageBodyPart.setText(body+mailFooter);       multipart.addBodyPart(messageBodyPart);   }   void setAttachFile(String fileName) throws Exception{     setAttachFile(fileName,fileName);   }   void setAttachFile(String fileName,String name) throws Exception{         MimeBodyPart messageBodyPart = new MimeBodyPart();         DataSource source = new FileDataSource(fileName);         messageBodyPart.setDataHandler(new DataHandler(source));         messageBodyPart.setFileName(name);         multipart.addBodyPart(messageBodyPart);   }   void setAttachFile(String[][] fileName) throws Exception{     for (int i=0;i<fileName.length;i++)       setAttachFile(fileName[i][0],fileName[i][1]);   }   public void send() throws Exception{       Transport.send(msg);   }   public static void main(String[] args) throws Exception{     Sendmail s= new Sendmail("steeven","steeven","测试附件","This is text body");     s.setAttachFile("index.jsp");     s.send();     // or simply:     new Sendmail("steeven","steeven","mail subject","mail text body").send();   } }
   
 
  |