package com.oreilly.jent.javamail;

/**
 * In general, you may use the code in this book in your programs and 
 * documentation. You do not need to contact us for permission unless 
 * you're reproducing a significant portion of the code. For example, 
 * writing a program that uses several chunks of code from this book does 
 * not require permission. Selling or distributing a CD-ROM of examples 
 * from O'Reilly books does require permission. Answering a question by 
 * citing this book and quoting example code does not require permission. 
 * Incorporating a significant amount of example code from this book into 
 * your product's documentation does require permission.
 * 
 * We appreciate, but do not require, attribution. An attribution usually 
 * includes the title, author, publisher, and ISBN. For example: 
 * 
 *   "Java Enterprise in a Nutshell, Third Edition, 
 *    by Jim Farley and William Crawford 
 *    with Prakash Malani, John G. Norman, and Justin Gehtland. 
 *    Copyright 2006 O'Reilly Media, Inc., 0-596-10142-2."
 *  
 *  If you feel your use of code examples falls outside fair use or the 
 *  permission given above, feel free to contact us at 
 *  permissions@oreilly.com.
 */

import java.io.File;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class MimeAttach { 
  public static void main(String[] args) { 
    try { 
      Properties props = System.getProperties(  ); 
      props.put("mail.smtp.host", "mail.company.com"); 
      Session session = Session.getDefaultInstance(props, null); 
      
      Message msg = new MimeMessage(session); 
      msg.setFrom(new InternetAddress("logs@company.com")); 
      msg.setRecipient(Message.RecipientType.TO, 
                       new InternetAddress("root@company.com")); 
      msg.setSubject("Today's Logs"); 
      
      Multipart mp = new MimeMultipart(  ); 
      MimeBodyPart mbp1 = new MimeBodyPart(  ); 
      mbp1.setContent("Log file for today is attached.", "text/plain");
      
      mp.addBodyPart(mbp1); 
      
      File f = new File("/var/logs/today.log"); 
      MimeBodyPart mbp = new MimeBodyPart(  ); 
      mbp.setFileName(f.getName(  )); 
      mbp.setDataHandler(new DataHandler(new FileDataSource(f))); 
      mp.addBodyPart(mbp); 
      
      msg.setContent(mp); 
      Transport.send(msg); 
    } 
    catch (MessagingException me) { 
      me.printStackTrace(  ); 
    } 
  } 
} 
