/*
 * Copyright (C) The Apache Software Foundation. All rights reserved.
 *
 * This software is published under the terms of the Apache Software License
 * version 1.1, a copy of which has been included with this distribution in
 * the LICENSE file.
 */
package org.apache.james.transport.mailets;

import javax.mail.internet.MimeMessage ;

import org.apache.james.core.MailImpl ;
import org.apache.mailet.GenericMailet ;
import org.apache.mailet.Mail ;

/**
 * Adds a specified header and value to the message.
 *
 * @version 1.0.0, 2002-09-11
 * @author  Chris Means <cmeans@intfar.com>
 */
public class AddHeader
       extends GenericMailet
{
  private String header ;
  private String value ;

  public void init ()
  {
    header = getInitParameter ("header") ;
    value = getInitParameter ("value") ;
  }

  public void service (Mail genericmail)
  {
    MailImpl mail = (MailImpl) genericmail ;

    try
    {
      MimeMessage message = mail.getMessage () ;

      //Set the header key and value (supplied at init time).
      message.setHeader (header,
                         value) ;

      message.saveChanges () ;
    }
    catch (javax.mail.MessagingException me)
    {
      log (me.getMessage ()) ;
    }
  }

  public String getMailetInfo ()
  {
    return "AddHeader Mailet" ;
  }

}

