KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > james > transport > mailets > AddHabeasWarrantMark


1 /***********************************************************************
2  * Copyright (c) 2000-2004 The Apache Software Foundation. *
3  * All rights reserved. *
4  * ------------------------------------------------------------------- *
5  * Licensed under the Apache License, Version 2.0 (the "License"); you *
6  * may not use this file except in compliance with the License. You *
7  * may obtain a copy of the License at: *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or *
14  * implied. See the License for the specific language governing *
15  * permissions and limitations under the License. *
16  ***********************************************************************/

17
18 package org.apache.james.transport.mailets;
19
20 import org.apache.james.transport.matchers.HasHabeasWarrantMark;
21 import org.apache.mailet.GenericMailet ;
22 import org.apache.mailet.Mail ;
23
24 /*
25  * This matcher adds the Hebeas Warrant Mark to a message.
26  * For details see: http://www.hebeas.com
27  *
28  * Usage: <mailet match="<suitable-matcher>" class="AddHabeasWarrantMark" />
29  *
30  * NOTE: Although this mailet is covered by the Apache Software License,
31  * the Habeas Warrant Mark is copyright. A separate license from Habeas
32  * is required in order to legally attach the Habeas Warrant Mark to
33  * e-mail messages. Each James Administrator is responsible for
34  * ensuring that James is configured to attach the Habeas Warrant Mark
35  * only to e-mail covered by a suitable license received from Habeas.
36  *
37  * Because the Habeas Warrant Mark is copyright material, I have asked
38  * for and received the following explicit statement from Habeas:
39  *
40  * -----------------------------------
41  * From: Lindsey Pettit [mailto:support@habeas.com]
42  * Sent: Sunday, September 29, 2002 5:51
43  * To: Noel J. Bergman
44  * Subject: RE: Habeas and Apache James
45  *
46  * Dear Noel,
47  *
48  * > FURTHERMORE, if James is to be capable of sending Habeas SWE, I need
49  * > to write a Mailet that attaches the headers. As with any MTA, it
50  * > would be up to the administrator to properly configure James and make
51  * > sure that licenses are acquired. Since the Habeas Warrant Mark is
52  * > copyright, I believe that I require authorization from you for that
53  * > Mailet, especially since it attaches the Habeas Warrant Mark. For my
54  * > own protection, please show me why such authorization is unnecessary,
55  * > send me a digitally signed e-mail, or FAX a signed authorization
56  *
57  * You do not yourself need the authorization to build the functionality
58  * into the [mailet]; what one needs authorization, in the form of a
59  * license, for, is to use the mark *in headers*, in outgoing email.
60  * However, please let me know if you would like something more
61  * formal, and I can try to have something faxed to you.
62  *
63  * > The Mailet docs would reference the Habeas website, and inform
64  * > administrators that in order to USE the mailet, they need to ensure
65  * > that they have whatever licenses are required from you as appropriate
66  * > to your licensing terms.
67  *
68  * That's absolutely perfect!
69  * -----------------------------------
70  *
71  */

72
73 public class AddHabeasWarrantMark extends GenericMailet
74 {
75     /**
76      * Called by the mailet container to allow the mailet to process to
77      * a message message.
78      *
79      * This method adds the Habeas Warrant Mark headers to the message,
80      * saves the changes, and then allows the message to fall through
81      * in the pipeline.
82      *
83      * @param mail - the Mail object that contains the message and routing information
84      * @throws javax.mail.MessagingException - if an message or address parsing exception occurs or
85      * an exception that interferes with the mailet's normal operation
86      */

87     public void service(Mail mail) throws javax.mail.MessagingException JavaDoc
88     {
89         try
90         {
91             javax.mail.internet.MimeMessage JavaDoc message = mail.getMessage();
92
93             for(int i = 0 ; i < HasHabeasWarrantMark.warrantMark.length ; i++)
94             {
95                 message.setHeader(HasHabeasWarrantMark.warrantMark[i][0], HasHabeasWarrantMark.warrantMark[i][1]);
96             }
97
98             message.saveChanges();
99         }
100         catch (javax.mail.MessagingException JavaDoc me)
101         {
102             log(me.getMessage());
103         }
104     }
105
106     /*
107      * Return a string describing this mailet.
108      *
109      * @return a string describing this mailet
110      */

111     public String JavaDoc getMailetInfo()
112     {
113         return "Add Habeas Warrant Mark. Must be used in accordance with a license from Habeas (see http://www.habeas.com for details).";
114     }
115 }
116
Popular Tags