org.apache.james.transport.mailets
Class NotifySender

java.lang.Object
  extended byorg.apache.mailet.GenericMailet
      extended byorg.apache.james.transport.mailets.AbstractRedirect
          extended byorg.apache.james.transport.mailets.AbstractNotify
              extended byorg.apache.james.transport.mailets.NotifySender
All Implemented Interfaces:
Mailet, MailetConfig

public class NotifySender
extends AbstractNotify

Sends a notification message to the sender of a message.

A sender of the notification message can optionally be specified. If one is not specified, the postmaster's address will be used.
The "To:" header of the notification message can be set to "unaltered"; if missing will be set to the sender of the notified message.
A notice text can be specified, and in such case will be inserted into the notification inline text.
If the notified message has an "error message" set, it will be inserted into the notification inline text. If the attachStackTrace init parameter is set to true, such error message will be attached to the notification message.
The notified messages are attached in their entirety (headers and content) and the resulting MIME part type is "message/rfc822".

Supports the passThrough init parameter (true if missing).

Sample configuration:


 <mailet match="All" class="NotifySender">
   <sender>an address or postmaster or sender or unaltered, default=postmaster</sender>
   <attachError>true or false, default=false</attachError>
   <prefix>optional subject prefix prepended to the original message</prefix>
   <inline>see Resend, default=none</inline>
   <attachment>see Resend, default=message</attachment>
   <passThrough>true or false, default=true</passThrough>
   <fakeDomainCheck>true or false, default=true</fakeDomainCheck>
   <to>unaltered or sender or from(optional, defaults to sender)</to>
   <debug>true or false, default=false</debug>
 </mailet>
 

The behaviour of this mailet is equivalent to using Resend with the following configuration:


 <mailet match="All" class="Resend">
   <sender>an address or postmaster or sender or unaltered</sender>
   <attachError>true or false</attachError>
   <message>dynamically built</message>
   <prefix>a string</prefix>
   <passThrough>true</passThrough>
   <fakeDomainCheck>true or false</fakeDomainCheck>
   <to>unaltered or sender or from<;/to>
   <recipients>sender</recipients>
   <inline>none</inline>
   <attachment>message</attachment>
   <isReply>true</isReply>
   <debug>true or false</debug>
 </mailet>
 

notice, sendingAddress and attachStackTrace can be used instead of message, sender and attachError; such names are kept for backward compatibility.

Version:
CVS $Revision: 382444 $ $Date: 2006-03-02 11:56:32 -0500 (Thu, 02 Mar 2006) $

Nested Class Summary
 
Nested classes inherited from class org.apache.james.transport.mailets.AbstractRedirect
AbstractRedirect.SpecialAddress
 
Field Summary
 
Fields inherited from class org.apache.james.transport.mailets.AbstractRedirect
ALL, BODY, HEADS, isDebug, isStatic, MESSAGE, NONE, UNALTERED
 
Constructor Summary
NotifySender()
           
 
Method Summary
protected  boolean attachError()
          Gets the attachError property.
protected  String[] getAllowedInitParameters()
          Gets the expected init parameters.
 String getMailetInfo()
          Return a string describing this mailet.
protected  Collection getRecipients()
          Gets the recipients property.
protected  InternetAddress[] getTo()
          Gets the to property.
 
Methods inherited from class org.apache.james.transport.mailets.AbstractNotify
getAttachmentType, getInLineType, getMessage, getMessage, getPassThrough, getReplyTo, getReversePath, getSender, getSubject, getSubjectPrefix, isReply, setSubjectPrefix
 
Methods inherited from class org.apache.james.transport.mailets.AbstractRedirect
attachError, buildAlteredMessage, changeSubject, getAttachmentType, getFakeDomainCheck, getFakeDomainCheck, getInLineType, getMessageHeaders, getPassThrough, getRecipients, getReplyTo, getReversePath, getSender, getSpecialAddress, getSubject, getSubjectPrefix, getTo, getTypeCode, init, isReply, isStatic, replaceInternetAddresses, replaceMailAddresses, senderDomainIsValid, service, setIsReply, setRecipients, setReplyTo, setReversePath, setSender, setTo
 
Methods inherited from class org.apache.mailet.GenericMailet
destroy, getInitParameter, getInitParameter, getInitParameterNames, getMailetConfig, getMailetContext, getMailetName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotifySender

public NotifySender()
Method Detail

getMailetInfo

public String getMailetInfo()
Return a string describing this mailet.

Specified by:
getMailetInfo in interface Mailet
Overrides:
getMailetInfo in class GenericMailet
Returns:
a string describing this mailet

getAllowedInitParameters

protected String[] getAllowedInitParameters()
Gets the expected init parameters.

Overrides:
getAllowedInitParameters in class AbstractRedirect
Returns:
null meaning no check

getRecipients

protected Collection getRecipients()
Description copied from class: AbstractRedirect
Gets the recipients property. Returns the collection of recipients of the new message, or null if no change is requested. Is a "getX()" method.

Specified by:
getRecipients in class AbstractNotify
Returns:
SpecialAddress.SENDER, indicating the sender of the current mail

getTo

protected InternetAddress[] getTo()
                           throws MessagingException
Description copied from class: AbstractRedirect
Gets the to property. Returns the "To:" recipients of the new message. or null if no change is requested. Is a "getX()" method.

Overrides:
getTo in class AbstractNotify
Returns:
SpecialAddress.UNALTERED if specified or SpecialAddress.SENDER if missing
Throws:
MessagingException

attachError

protected boolean attachError()
                       throws MessagingException
Description copied from class: AbstractRedirect
Gets the attachError property. Returns a boolean indicating whether to append a description of any error to the main body part of the new message, if getInlineType does not return "UNALTERED". Is a "getX()" method.

Overrides:
attachError in class AbstractRedirect
Returns:
the attachStackTrace init parameter, or the attachError init parameter if missing, or false if missing
Throws:
MessagingException


"Copyright © 1999-2006 Apache Jakarta Project. All Rights Reserved."