org.apache.james.transport.mailets
Class NotifySender

java.lang.Object
  extended by org.apache.mailet.GenericMailet
      extended by org.apache.james.transport.mailets.AbstractRedirect
          extended by org.apache.james.transport.mailets.AbstractNotify
              extended by org.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: 494012 $ $Date: 2007-01-08 10:23:58 +0000 (Mon, 08 Jan 2007) $

Nested Class Summary
 
Nested classes/interfaces 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  java.lang.String[] getAllowedInitParameters()
          Gets the expected init parameters.
 java.lang.String getMailetInfo()
          Return a string describing this mailet.
protected  java.util.Collection getRecipients()
          Gets the recipients property.
protected  javax.mail.internet.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 java.lang.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 java.lang.String[] getAllowedInitParameters()
Gets the expected init parameters.

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

getRecipients

protected java.util.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 javax.mail.internet.InternetAddress[] getTo()
                                               throws javax.mail.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:
javax.mail.MessagingException

attachError

protected boolean attachError()
                       throws javax.mail.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:
javax.mail.MessagingException


Copyright ? 2002-2009 The Apache Software Foundation. All Rights Reserved.