You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/31 02:32:18 UTC

[01/24] james-project git commit: JAMES-2493 upgrade logback-elasticsearch-appender to last version

Repository: james-project
Updated Branches:
  refs/heads/master 241ce2d0c -> f876c931a


JAMES-2493 upgrade logback-elasticsearch-appender to last version


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/fa769746
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/fa769746
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/fa769746

Branch: refs/heads/master
Commit: fa769746451ea8bc1032f48236df488e38a2ebeb
Parents: 9bd0a1e
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jul 23 15:32:08 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:24:17 2018 +0700

----------------------------------------------------------------------
 server/container/guice/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/fa769746/server/container/guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/pom.xml b/server/container/guice/pom.xml
index 815f264..be8644d 100644
--- a/server/container/guice/pom.xml
+++ b/server/container/guice/pom.xml
@@ -189,7 +189,7 @@
             <dependency>
                 <groupId>com.internetitem</groupId>
                 <artifactId>logback-elasticsearch-appender</artifactId>
-                <version>1.5</version>
+                <version>1.6</version>
                 <exclusions>
                     <exclusion>
                         <groupId>com.fasterxml.jackson.core</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[19/24] james-project git commit: JAMES-2486 Update com.github.kongchen

Posted by bt...@apache.org.
JAMES-2486 Update com.github.kongchen


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/69bb4dee
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/69bb4dee
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/69bb4dee

Branch: refs/heads/master
Commit: 69bb4deea1263817e46837ccc58a0bcd9a388c9c
Parents: 1c69d37
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Thu Jul 19 11:37:42 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/69bb4dee/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8180a56..06ab442 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1693,7 +1693,7 @@
             <dependency>
                 <groupId>com.github.kongchen</groupId>
                 <artifactId>swagger-maven-plugin</artifactId>
-                <version>3.1.5</version>
+                <version>3.1.7</version>
             </dependency>
             <dependency>
                 <groupId>com.github.spullara.mustache.java</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[12/24] james-project git commit: JAMES-2493 remove ${groupId} deprecated use

Posted by bt...@apache.org.
JAMES-2493 remove  ${groupId} deprecated use


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9389a2ca
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9389a2ca
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9389a2ca

Branch: refs/heads/master
Commit: 9389a2ca9f325f947edd244e4c0d238c7998104e
Parents: da982f2
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:01:00 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 mailet/api/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9389a2ca/mailet/api/pom.xml
----------------------------------------------------------------------
diff --git a/mailet/api/pom.xml b/mailet/api/pom.xml
index 3c2e4de..18ee831 100644
--- a/mailet/api/pom.xml
+++ b/mailet/api/pom.xml
@@ -37,7 +37,7 @@
 
     <dependencies>
         <dependency>
-            <groupId>${groupId}</groupId>
+            <groupId>${project.groupId}</groupId>
             <artifactId>james-core</artifactId>
         </dependency>
         <dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[10/24] james-project git commit: JAMES-2493 remove duplicate dependencies

Posted by bt...@apache.org.
JAMES-2493 remove duplicate dependencies


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/da982f28
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/da982f28
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/da982f28

Branch: refs/heads/master
Commit: da982f288153ff810c211cfb16e9434f45510b50
Parents: 5f01439
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:01:12 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 pom.xml | 6 ------
 1 file changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/da982f28/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e090414..28e4e91 100644
--- a/pom.xml
+++ b/pom.xml
@@ -851,12 +851,6 @@
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
-                <artifactId>apache-james-mailbox-quota-mailing</artifactId>
-                <type>test-jar</type>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>${james.groupId}</groupId>
                 <artifactId>apache-james-mailbox-spring</artifactId>
                 <version>${project.version}</version>
             </dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[06/24] james-project git commit: JAMES-2501 Create a SpamAssassin backend project

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam8
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam8 b/server/container/util/src/test/resources/spamassassin_db/spam/spam8
deleted file mode 100644
index addf463..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam8
+++ /dev/null
@@ -1,321 +0,0 @@
-From ormlh@imail.ru  Sun Jul 15 04:56:31 2001
-Return-Path: <or...@imail.ru>
-Delivered-To: yyyy@netnoteinc.com
-Received: from cccp.co.kr (unknown [211.218.149.105]) by
-    mail.netnoteinc.com (Postfix) with SMTP id 789D51140BA for
-    <jm...@netnoteinc.com>; Sun, 15 Jul 2001 03:56:28 +0000 (Eire)
-Received: from imail.ru [210.14.5.95] by cccp.co.kr running [nMail 1.04
-    (Windows NT/2000) SMTP Server]; Wed, 11 Jul 2001 02:41:35 +0900
-Message-Id: <00...@imail.ru>
-To: <67...@163.net>
-From: ormlh@imail.ru
-Subject: FW:
-Date: Fri, 02 Jan 1998 04:30:44 -0400
-MIME-Version: 1.0
-Content-Transfer-Encoding: quoted-printable
-X-Priority: 3
-X-Msmail-Priority: Normal
-X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
-
-
-<HTML>
-<BODY bgColor=3D#C0C0C0>
-
-<FONT face=3D"Arial">
-<FONT size=3D4>
-<FONT color=3D"#800040"> Thank you for your interest!</FONT>
-<FONT size=3D3>
-<FONT color=3D"#800040">  </FONT>
-<FONT color=3D"#000000">                         <BR>
-<BR>
-Judgment Courses offers an extensive Audio training<BR>
-course in </FONT>
-<FONT color=3D"#0000A0"> "How to Collect Money Judgments"</FONT>
-<FONT color=3D"#000000">  .         </FONT>
-<FONT size=3D2>
-<FONT color=3D"#000000"> S6</FONT>
-<FONT size=3D3>
-<FONT color=3D"#000000"> <BR>
-<BR>
-If you are like many people, you are not even sure what a<BR>
-Money Judgment is and </FONT>
-<FONT color=3D"#0000A0"> why processing Money Judgments<BR>
-can earn you very substantial income</FONT>
-<FONT color=3D"#000000">  .<BR>
-<BR>
-If you ever sue a company or a person and you win then you<BR>
-will have a Money Judgment against them.<BR>
-<BR>
-You are happy you won but you will soon find out the<BR>
-shocking fact: "Its now up to you to collect on the<BR>
-Judgment". The court does not require the loser to pay you.<BR>
-The court will not even help you. You must trace the loser<BR>
-down, find their assets, their employment, bank accounts,<BR>
-real estate, stocks and bonds, etc.<BR>
-<BR>
-Very few people know how to find these assets or what to do<BR>
-when they are found. The result is that millions of<BR>
-Judgments are just sitting in files and being forgotten.<BR>
-<BR>
-"In 79% of the cases the winner of a Judgment never sees a<BR>
-dime."<BR>
-<BR>
-The non-payment of judicial debt has grown to epidemic<BR>
-proportions. Right now in the United States there is<BR>
-between </FONT>
-<FONT color=3D"#0000A0"> 200 and 300 billion dollars of uncollected Money<=
-BR>
-Judgment debt</FONT>
-<FONT color=3D"#000000">  . For every Judgment that is paid, 5 more<BR>
-Judgments take its place.<BR>
-<BR>
-We identified this massive market 8 years ago and have<BR>
-actively pursued Judicial Judgments since. We invented this<BR>
-business. We have perfected it into a well proven and solid<BR>
-profession in which only a select few will be trained in the<BR>
-techniques necessary to succeed.<BR>
-<BR>
-With our first hand experience we have built a course which<BR>
-teaches you how to start your business in this new unknown<BR>
-and exciting field of processing Money Judgments.<BR>
-<BR>
-By following the steps laid out in our course and with<BR>
-reasonable effort you can become very successful in the<BR>
-processing of Money Judgments.<BR>
-<BR>
-The income potential is substantial in this profession. </FONT>
-<FONT color=3D"#0000A0"> We<BR>
-have associates who have taken our course and are now<BR>
-working full time making $96,000.00 to over $200,000.00 per<BR>
-year. Part time associates are earning between $24,000.00<BR>
-and $100,000.00 per year </FONT>
-<FONT color=3D"#000000"> . Some choose to operate out of<BR>
-their home and work by themselves. Others build a sizable<BR>
-organization of 15 to 25 people in attractive business<BR>
-offices.<BR>
-<BR>
-Today our company and our associates have over 126<BR>
-million dollars in Money Judgments that we are currently<BR>
-processing. Of this 126 million, 25 million is in the form<BR>
-of joint ventures between our firm and our associates.<BR>
-Joint ventures are where we make our money. We only break<BR>
-even when our course is purchased. We make a 12% margin on<BR>
-the reports we supply to our associates. Our reporting<BR>
-capability is so extensive that government agencies, police<BR>
-officers, attorneys, credit agencies etc., all come to us<BR>
-for reports.<BR>
-<BR>
-<BR>
-Many of our associates already have real estate liens in<BR>
-force of between 5 million to over 15 million dollars.<BR>
-Legally this means that when the properties are sold or<BR>
-refinanced our associate must be paid off. The norm is 10%<BR>
-interest compounded annually on unpaid Money Judgments.<BR>
-Annual interest on 5 million at 10% translates to<BR>
-$500,000.00 annually in interest income, not counting the<BR>
-payment of the principal.<BR>
-<BR>
-Our associates earn half of this amount or $250,000.00 per<BR>
-year. This is just for interest, not counting principle<BR>
-and not counting the compounding of the interest which can<BR>
-add substantial additional income. Typically companies are<BR>
-sold for 10 times earnings. Just based on simple interest<BR>
-an associate with 5 million in real estate liens could sell<BR>
-their business for approximately 2.5 million dollars.<BR>
-<BR>
-</FONT>
-<FONT color=3D"#0000A0"> 92% of all of our associates work out of their ho=
-me; 43%<BR>
-are women and 36% are part time</FONT>
-<FONT color=3D"#000000">  .<BR>
-<BR>
-One of the benefits of working in this field is that you are<BR>
-not under any kind of time frame. If you decide to take off<BR>
-for a month on vacation then go. The Judgments you are<BR>
-working on will be there when you return. The Judgments<BR>
-are still in force, they do not disappear.<BR>
-<BR>
-The way we train you is non-confrontational. You use your<BR>
-computer and telephone to do most of the processing. You<BR>
-never confront the debtor. The debtor doesn't know who you<BR>
-are. You are not a collection agency.<BR>
-<BR>
-Simply stated the steps to successful Money Processing<BR>
-are as follows:<BR>
-<BR>
-Mail our recommended letter to companies and individuals<BR>
-with Money Judgments. (We train you how to find out who<BR>
-to write to)<BR>
-<BR>
-8% to 11% of the firms and people you write will call you<BR>
-and ask for your help. They call you, you don't call them<BR>
-unless you want to.<BR>
-<BR>
-You send them an agreement (supplied in the course) to<BR>
-sign which splits every dollar you collect 50% to you and<BR>
-50% to them. This applies no matter if the judgment is for<BR>
-$2,000.00 or $2,000,000.00.<BR>
-<BR>
-You then go on-line to our computers to find the debtor<BR>
-and their assets. We offer over 120 powerful reports to<BR>
-assist you. They range from credit reports from all three<BR>
-credit bureaus, to bank account locates, employment<BR>
-locates, skip traces and locating stocks and bonds, etc.<BR>
-The prices of our reports are very low. Typically 1/2 to<BR>
-1/3 of what other firms charge. For example we charge<BR>
-$6.00 for an individuals credit report when some other<BR>
-companies charge $25.00.<BR>
-<BR>
-Once you find the debtor and their assets you file<BR>
-garnishments and liens on the assets you have located.<BR>
-(Standard fill in the blanks forms are included in the<BR>
-course)<BR>
-<BR>
-When you receive the assets you keep 50% and send 50% to<BR>
-the original Judgment holder.<BR>
-<BR>
-Once the Judgment is fully paid you mail a Satisfaction of<BR>
-Judgment to the court. (Included in the course)<BR>
-<BR>
-Quote's from several of our students:<BR>
-<BR>
-Thomas in area code 516 writes us: "I just wanted to drop<BR>
-you a short note thanking you for your excellent course. </FONT>
-<FONT color=3D"#0000A0"> My<BR>
-first week, part time, will net me 3,700.00 dollars</FONT>
-<FONT color=3D"#000000">  . Your<BR>
-professionalism in both the manual and the video opened<BR>
-doors for me in the future. There's no stopping me now.<BR>
-Recently Thomas states he has over $8,500,000 worth of<BR>
-judgments he is working on.<BR>
-<BR>
-After only having this course for four months, Larry S. in<BR>
-area code 314 stated to us: " </FONT>
-<FONT color=3D"#0000A0"> I am now making $2,000.00 per<BR>
-week </FONT>
-<FONT color=3D"#000000"> and expect this to grow to twice this amount with=
-in the<BR>
-next year. I am having a ball. I have over $250,000 in<BR>
-judgments I am collecting on now."<BR>
-<BR>
-After having our course for 7 months Larry S. in 314 stated<BR>
-" </FONT>
-<FONT color=3D"#0000A0"> I am now making $12,000.00</FONT>
-<FONT color=3D"#000000">  per month and have approximately<BR>
-$500,000.00 in judgments I am collecting on. Looks like I<BR>
-will have to hire someone to help out"<BR>
-<BR>
-Marshal in area code 407 states to us "I feel bad, you only<BR>
-charged me $259.00 for this course and it is a goldmine. I<BR>
-have added 3 full time people to help me after only having<BR>
-your course for 5 months"<BR>
-<BR>
->From the above information and actual results you can see<BR>
-why we can state the following:<BR>
-<BR>
-With our course you can own your own successful business.<BR>
-A business which earns you substantial income now and one<BR>
-which could be sold in 3-5 years, paying you enough to<BR>
-retire on and travel the world. A business which is<BR>
-extremely interesting to be in. A Business in which every<BR>
-day is new and exciting.<BR>
-<BR>
-None of your days will be hum-drum. Your brain is<BR>
-Challenged. A business, which protects you from Corporate<BR>
-Downsizing. A business which you can start part time from<BR>
-your home and later, if you so desire, you can work in full<BR>
-time. A business, which is your ticket to freedom from<BR>
-others telling you what to do. A business, which lets you<BR>
-control your own destiny. Our training has made this happen<BR>
-for many others already. Make it happen for you!<BR>
-<BR>
-If the above sounds interesting to you then its time for you<BR>
-to talk to a real live human being, no cost or obligation<BR>
-on your part.<BR>
-<BR>
-</FONT>
-<FONT color=3D"#800040"> Please call us at 1_406_652_0194 </FONT>
-<FONT color=3D"#000000"> .<BR>
-<BR>
-We have </FONT>
-<FONT color=3D"#800040"> Customer Support staff available to you from 8:00=
-am to<BR>
-9:00pm (Mountain Time) 7 days a week</FONT>
-<FONT color=3D"#000000">  . If you call this number<BR>
-you can talk to one of our experienced Customer Support personnel.<BR>
-They can answer any questions you may have - with no obligation.<BR>
-Sometimes we run special pricing on our courses and combinations<BR>
-of courses. When you call our Customer Support line they can let<BR>
-you know of any specials we may be running. If you like what you<BR>
-read and hear about our courses, then the Customer Support person<BR>
-can work with you to place your order. We are very low key. We<BR>
-merely give you the facts and you can then decide if you want to<BR>
-work with us or not.<BR>
-<BR>
-Thank you for your time and interest.<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-<BR>
-</FONT>
-<FONT face=3D"Courier New">
-<FONT size=3D2>
-<FONT color=3D"#000000"> .................................................=
-....................<BR>
-T h i s message i s produced a n d sent out by:<BR>
-Universal S.y.s.t.e.m.s.<BR>
-To be dropped form our mailing list please email us at <BR>
-james77@mail.asia-links.com call us toll free at 1=3D888=3D605=3D2485<BR>
-and  g i v e us y o u r email a d d r e s s  or w r i t e  us a t:<BR>
-*Central*DB*Processing, PO: Box:1200, O r a n j e s t a d, Aruba<BR>
-.....................................................................<BR>
-</FONT>
-<FONT face=3D"Arial">
-<FONT size=3D3>
-<FONT color=3D"#000000"> <BR>
-<BR>
-</FONT>
-<FONT size=3D3>
-<FONT color=3D"#000000"> <BR>
-<BR>
-</FONT>
-<FONT size=3D3>
-<FONT color=3D"#000000"> <BR>
-<BR>
-<BR>
-<BR>
-<BR>
-</FONT>
-<FONT size=3D2>
-<FONT color=3D"#000000"> <BR>
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
-'''''''''''<BR>
-</FONT>
-<FONT size=3D3>
-<FONT color=3D"#000000"> <BR>
-</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FO=
-NT></FONT></FONT></BODY></HTML>
-
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam9
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam9 b/server/container/util/src/test/resources/spamassassin_db/spam/spam9
deleted file mode 100644
index 163bde8..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam9
+++ /dev/null
@@ -1,142 +0,0 @@
-From spamassassin-sightings-admin@lists.sourceforge.net  Tue Jul  2 13:04:23 2002
-Return-Path: <sp...@example.sourceforge.net>
-Delivered-To: yyyy@localhost.labs.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix on SuSE Linux 8.0 (i386)) with ESMTP id BB16E14F914
-	for <jm...@localhost>; Tue,  2 Jul 2002 12:56:51 +0100 (IST)
-Received: from dogma.slashnull.org [212.17.35.15]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for jm@localhost (single-drop); Tue, 02 Jul 2002 12:56:51 +0100 (IST)
-Received: from usw-sf-list2.sourceforge.net (usw-sf-fw2.sourceforge.net
-    [216.136.171.252]) by dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id
-    g61Iat611966 for <jm...@jmason.org>; Mon, 1 Jul 2002 19:36:56
-    +0100
-Received: from usw-sf-list1-b.sourceforge.net ([10.3.1.13]
-    helo=usw-sf-list1.sourceforge.net) by usw-sf-list2.sourceforge.net with
-    esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17P62B-0000rw-00; Mon,
-    01 Jul 2002 11:36:23 -0700
-Received: from [64.86.155.148] (helo=ok61655.com) by
-    usw-sf-list1.sourceforge.net with smtp (Exim 3.31-VA-mm2 #1 (Debian)) id
-    17P60P-0006ds-00 for <sp...@lists.sourceforge.net>;
-    Mon, 01 Jul 2002 11:34:34 -0700
-From: "MR.DOUGLAS  AND PRINCESS M." <do...@yahoo.co.uk>
-Reply-To: princessmar001@yahoo.com
-To: spamassassin-sightings@example.sourceforge.net
-X-Mailer: Microsoft Outlook Express 5.00.2919.6900 DM
-MIME-Version: 1.0
-Message-Id: <E1...@usw-sf-list1.sourceforge.net>
-Subject: [SA] URGENT HELP..............
-Sender: spamassassin-sightings-admin@example.sourceforge.net
-Errors-To: spamassassin-sightings-admin@example.sourceforge.net
-X-Beenthere: spamassassin-sightings@example.sourceforge.net
-X-Mailman-Version: 2.0.9-sf.net
-Precedence: bulk
-List-Help: <mailto:spamassassin-sightings-request@example.sourceforge.net?subject=help>
-List-Post: <ma...@example.sourceforge.net>
-List-Subscribe: <https://example.sourceforge.net/lists/listinfo/spamassassin-sightings>,
-    <mailto:spamassassin-sightings-request@lists.sourceforge.net?subject=subscribe>
-List-Id: <spamassassin-sightings.example.sourceforge.net>
-List-Unsubscribe: <https://example.sourceforge.net/lists/listinfo/spamassassin-sightings>,
-    <mailto:spamassassin-sightings-request@lists.sourceforge.net?subject=unsubscribe>
-List-Archive: <http://www.geocrawler.com/redir-sf.php3?list=spamassassin-sightings>
-X-Original-Date: Mon, 5 Apr 1999 20:38:02 +0100
-Date: Mon, 5 Apr 1999 20:38:02 +0100
-Content-Type: multipart/mixed; boundary="===_SecAtt_000_1fnapngoonxcrm"
-
---===_SecAtt_000_1fnapngoonxcrm
-Content-Type: text/plain; charset="us-ascii"
-Content-Transfer-Encoding: quoted-printable
-
-
-DEAR SIR=2C
-URGENT AND CONFIDENTIAL=3A
-
-Re=3ATransfer of $50=2C000=2E000=2E00 USD=5BFIFTY MILLION UNITED
-STATES DOLLARS=5D=2E
-
-WE WANT TO TRANSFER TO OVERSEAS=5B$50=2C000=2E000=2E00=5BFIFTY
-MILLION UNITED STATES DOLLARS=5DFROM A SECURITY COMPANY
-IN SPAIN=2CI WANT TO ASK YOU TO QUIETLY LOOK FOR A
-RELIABLE AND HONEST PERSON WHO WILL BE CAPABLE AND FIT
-TO PROVIDE EITHER AN EXISTING BANK ACCOUNT OR TO SET
-UP A NEW BANK ACCOUNT IMMEDIATELY TO RECEIVE THIS
-MONEY=2CEVEN AN EMPTY ACCOUNT CAN SERVE TO RECEIVE THIS
-MONEY=2CAS LONG AS YOU WILL REMAIN HONEST TO ME TILL THE
-END OF THIS IMPORTANT BUSINESS TRANSACTION=2EI WANT TO
-BELIEVE THAT YOU WILL NEVER LET ME DOWN EITHER NOW OR
-IN FUTURE=2E
-
-I AM DOUGLAS SMITH=2CTHE AUDITOR GENERAL OF MAGNUM TRUST
-INC=2E MADRID SPAIN DURING THE COURSE OF OUR AUDITING=2CI DISCOVERED A
-FLOATING FUND IN AN ACCOUNT OPENED IN THE SECURITY
-COMPANY IN 1990 AND SINCE 1993 NOBODY HAS OPERATED ON
-THIS ACCOUNT AGAIN=2C AFTER GOING THROUGH SOME OLD FILES
-IN THE RECORDS I DISCOVERED THAT THE OWNER OF THE
-ACCOUNT DIED WITHOUT A HEIR HENCE THE MONEY IS
-FLOATING AND IF I DO NOT REMIT THIS MONEY OUT
-URGENTLY=2CIT WILL BE FORFEITED FOR NOTHING=2E
-
-THE OWNER OF THIS ACCOUNT WAS =22MR=2EALLAN P=2E SEAMAN=22=2CA FOREIGNER AND AN INDUSTRIALIST=2CAND HE DIED SINCE 1993 AND NO OTHER PERSON KNOWS ABOUT THIS ACCOUNT OR ANYTHING CONCERNING IT=2CTHE ACCOUNT HAS NO BENEFICIARY AND MY INVESTIGATION PROVED TO ME AS WELL THAT ALLAN=2EP SEAMAN UNTILL HIS DEATH WAS THE MANAGER DIAMOND SAFARI=5BPTY=5DS=2EA=2E
-
-WE WILL START THE FIRST TRANSFER WITH $20 MILLION
-DOLLARS=5BTWENTY MILLION DOLLARS=5DUPON SUCCESSFUL
-TRANSFER WITHOUT ANY DISAPPOINTMENT FROM YOUR SIDE=2CWE
-SHALL RE-APPLY FOR THE TRANSFER OF THE REMAINING $30
-MILLION USA DOLLARS=5BTHIRTY MILLION UNITED STATES
-DOLLARS=5DINTO YOUR ACCOUNT BRINGING THE SUM TOTAL TO
-$50=2C000=2E000=2E00=5BFIFTY MILLION DOLLARS=5D=2E
-
-I AM CONTACTING YOU AS A FOREIGNER BECAUSE THIS MONEY
-CAN ONLY BE APPROVED TO A FOREIGNER WITH VALID
-INTERNATIONAL PASSPORT=2CDRIVERS LICENCE AND FOREIGN
-ACCOUNT BECAUSE THE MONEY IS IN USA DOLLARS AND THE
-FORMER OWNER OF THE ACCOUNT=22MR=2EALLAN P=2ESEAMAN IS A
-FOREIGNER=2EI WILL LIKE US TO MEET FACE TO FACE TO SIGN
-A BINDING AGREEMENT THAT WILL BIND US TOGETHER IN THE
-BUSINESS=2CI AM REVEALING ALL THESE TO YOU WITH THE
-BELIEF THAT YOU WILL NEVER LET ME DOWN IN THIS
-BUSINESS=2CYOU ARE THE FIRST AND ONLY PERSON I AM
-CONTACTING FOR THE BUSINESS=2CSO PLEASE REPLY URGENTLY
-FOR ME TO TELL YOU THE NEXT STEP TO TAKE=2EYOU SHOULD
-FORWARD YOUR TELEPHONE AND FAX NUMBERS AND YOUR BANK
-ACCOUNT DETAILS THAT WILL BE USED IN TRANSFERING THE
-MONEY=2E
-
-YOU WILL HAVE TO GIVE ME THE ASSURANCE WHEN WE
-MEET THAT THIS MONEY WILL BE INTACT PENDING OUR
-PHYSICAL ARRIVAL IN YOUR COUNTRY FOR SHARING AND
-DISBURSEMENT OF THE FUND WHICH WILL BE 35% FOR YOUR
-ASSISTANCE=2C60% WILL BE FOR US WHILE 5% WILL  BE SET
-ASIDE TO TAKE CARE OF ALL THE EXPENSES THAT WILL BE
-INCURRED BY BOTH PARTIES DURING THE COURSE OF THE
-TRANSFER=2E
-
-I LOOK FORWARD TO YOUR EARLIEST RESPONSE=2CALL
-CORRESPONDENCE FOR NOW SHOULD BE EMAIL FOR SECURITY
-REASONS=2E
-
-BEST REGARDS=2E
-
-DOUGLAS SMITH  =28PLEASE  CONTACT ME THROUGH  MY WIFE EMAIL=28princessmar001=40yahoo=2Ecom=29FOR CONFIDENCAIL
-
-
-
---===_SecAtt_000_1fnapngoonxcrm
-Content-Type: application/octet-stream; name="aaaaaaa.txt"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment; filename="aaaaaaa.txt"
-
-
---===_SecAtt_000_1fnapngoonxcrm
-
-
-
--------------------------------------------------------
-This sf.net email is sponsored by:ThinkGeek
-Welcome to geek heaven.
-http://thinkgeek.com/sf
-_______________________________________________
-Spamassassin-Sightings mailing list
-Spamassassin-Sightings@lists.sourceforge.net
-https://lists.sourceforge.net/lists/listinfo/spamassassin-sightings
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index cad6813..1f33b14 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -38,10 +38,10 @@ import org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.james.transport.matchers.All;
 import org.apache.james.util.docker.Images;
 import org.apache.james.util.docker.SwarmGenericContainer;
-import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/mailet/mailets/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml
index 5c2dd1e..9e65f80 100644
--- a/server/mailet/mailets/pom.xml
+++ b/server/mailet/mailets/pom.xml
@@ -67,6 +67,16 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>apache-mailet-api</artifactId>
             <scope>compile</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
index e704497..f9f2634 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
@@ -27,11 +27,11 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.james.core.MailAddress;
 import org.apache.james.metrics.api.MetricFactory;
+import org.apache.james.spamassassin.SpamAssassinInvoker;
+import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.util.Port;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
-import org.apache.james.util.scanner.SpamAssassinResult;
 import org.apache.mailet.Mail;
 import org.apache.mailet.PerRecipientHeaders;
 import org.apache.mailet.base.GenericMailet;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
index 596d2b7..bd516f5 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsMarkedAsSpam.java
@@ -25,7 +25,7 @@ import java.util.Locale;
 import javax.mail.MessagingException;
 
 import org.apache.james.core.MailAddress;
-import org.apache.james.util.scanner.SpamAssassinResult;
+import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.GenericMatcher;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index 81f9674..62565ab 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -27,11 +27,11 @@ import javax.mail.MessagingException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.spamassassin.SpamAssassinResult;
+import org.apache.james.spamassassin.mock.MockSpamd;
+import org.apache.james.spamassassin.mock.MockSpamdTestRule;
 import org.apache.james.user.memory.MemoryUsersRepository;
 import org.apache.james.util.Port;
-import org.apache.james.util.scanner.SpamAssassinResult;
-import org.apache.james.utils.MockSpamd;
-import org.apache.james.utils.MockSpamdTestRule;
 import org.apache.mailet.Mail;
 import org.apache.mailet.PerRecipientHeaders;
 import org.apache.mailet.base.test.FakeMail;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/pom.xml b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/pom.xml
index 986f7db..6309274 100644
--- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/pom.xml
+++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/pom.xml
@@ -110,6 +110,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-testing</artifactId>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
index 3adc452..4c20a0f 100644
--- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
+++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraJmapExtension.java
@@ -33,8 +33,8 @@ import org.apache.james.modules.TestESMetricReporterModule;
 import org.apache.james.modules.TestElasticSearchModule;
 import org.apache.james.modules.TestJMAPServerModule;
 import org.apache.james.server.core.configuration.Configuration;
+import org.apache.james.spamassassin.SpamAssassinExtension;
 import org.apache.james.util.Runnables;
-import org.apache.james.util.scanner.SpamAssassinExtension;
 import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
index 0adc13f..7f69759 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/pom.xml
@@ -83,6 +83,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-testing</artifactId>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/JamesWithSpamAssassin.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/JamesWithSpamAssassin.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/JamesWithSpamAssassin.java
index cedde75..6a10a29 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/JamesWithSpamAssassin.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/JamesWithSpamAssassin.java
@@ -19,7 +19,7 @@
 package org.apache.james.jmap.methods.integration;
 
 import org.apache.james.GuiceJamesServer;
-import org.apache.james.util.scanner.SpamAssassinExtension;
+import org.apache.james.spamassassin.SpamAssassinExtension;
 
 public class JamesWithSpamAssassin {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
index ef1ea07..6f8b6d9 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
@@ -25,9 +25,9 @@ import javax.inject.Singleton;
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.james.mailbox.spamassassin.SpamAssassinConfiguration;
 import org.apache.james.mailetcontainer.impl.MailetConfigImpl;
+import org.apache.james.spamassassin.SpamAssassinExtension;
+import org.apache.james.spamassassin.SpamAssassinExtension.SpamAssassin;
 import org.apache.james.util.Host;
-import org.apache.james.util.scanner.SpamAssassinExtension;
-import org.apache.james.util.scanner.SpamAssassinExtension.SpamAssassin;
 import org.apache.james.utils.MailetConfigurationOverride;
 
 import com.google.inject.AbstractModule;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/pom.xml b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/pom.xml
index db2c09c..c873e5e 100644
--- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/pom.xml
+++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/pom.xml
@@ -74,6 +74,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-memory-guice</artifactId>
             <type>test-jar</type>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
index 380221f..7ff67b6 100644
--- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
+++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/java/org/apache/james/jmap/memory/MemoryJmapExtension.java
@@ -32,7 +32,7 @@ import org.apache.james.mailbox.store.search.PDFTextExtractor;
 import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex;
 import org.apache.james.modules.TestJMAPServerModule;
 import org.apache.james.server.core.configuration.Configuration;
-import org.apache.james.util.scanner.SpamAssassinExtension;
+import org.apache.james.spamassassin.SpamAssassinExtension;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/protocols-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index eec9266..1be572d 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -34,6 +34,16 @@
 
     <dependencies>
         <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>${javax.activation.groupId}</groupId>
             <artifactId>${javax.activation.artifactId}</artifactId>
             <scope>provided</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
index 3a274a8..ef60371 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
@@ -33,8 +33,8 @@ import org.apache.james.protocols.smtp.dsn.DSNStatus;
 import org.apache.james.protocols.smtp.hook.HookResult;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.smtpserver.JamesMessageHook;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
-import org.apache.james.util.scanner.SpamAssassinResult;
+import org.apache.james.spamassassin.SpamAssassinInvoker;
+import org.apache.james.spamassassin.SpamAssassinResult;
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
index 97acaea..005bb00 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
@@ -33,9 +33,9 @@ import org.apache.james.protocols.smtp.hook.HookResult;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.SpamAssassinHandler;
-import org.apache.james.util.scanner.SpamAssassinResult;
-import org.apache.james.utils.MockSpamd;
-import org.apache.james.utils.MockSpamdTestRule;
+import org.apache.james.spamassassin.SpamAssassinResult;
+import org.apache.james.spamassassin.mock.MockSpamd;
+import org.apache.james.spamassassin.mock.MockSpamdTestRule;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
 import org.junit.Rule;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java b/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
deleted file mode 100644
index 45121c7..0000000
--- a/server/testing/src/main/java/org/apache/james/utils/MockSpamd.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.utils;
-
-import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.nio.charset.StandardCharsets;
-
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Preconditions;
-
-/**
- * This class can be used to run a mocked SPAMD daemon
- */
-public class MockSpamd implements Runnable {
-    private static final Logger LOGGER = LoggerFactory.getLogger(MockSpamd.class);
-
-    /**
-     * Mailcontent which is 100% spam
-     */
-    public static final String GTUBE = "-SPAM-";
-    public static final String NOT_SPAM = "Spam: False ; 3 / 5";
-    public static final String SPAM = "Spam: True ; 1000 / 5";
-
-    private ServerSocket socket;
-    private boolean isBinded;
-
-    public MockSpamd() {
-        isBinded = false;
-    }
-
-    public int getPort() {
-        Preconditions.checkState(isBinded, "SpamD mock server is not binded");
-        return socket.getLocalPort();
-    }
-
-    public void bind() throws IOException {
-        socket = new ServerSocket(0);
-        isBinded = true;
-    }
-
-    @Override
-    public void run() {
-        try (ServerSocket serverSocket = socket;
-            Socket spamd = serverSocket.accept();
-             BufferedReader in = new BufferedReader(new InputStreamReader(spamd.getInputStream()));
-             OutputStream out = spamd.getOutputStream()) {
-
-            handleRequest(in, out);
-        } catch (IOException e) {
-            LOGGER.error("Exception while handling answer", e);
-        }
-    }
-
-    private void handleRequest(BufferedReader in, OutputStream out) throws IOException {
-        if (isSpam(in)) {
-            out.write(SPAM.getBytes());
-        } else {
-            out.write(NOT_SPAM.getBytes());
-        }
-        out.flush();
-    }
-
-    private boolean isSpam(BufferedReader in) throws IOException {
-        try {
-            return in.lines()
-                .anyMatch(line -> line.contains(GTUBE));
-        } finally {
-            consume(in);
-        }
-    }
-
-    private void consume(BufferedReader in) throws IOException {
-        IOUtils.copy(in, NULL_OUTPUT_STREAM, StandardCharsets.UTF_8);
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java b/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java
deleted file mode 100644
index ea746df..0000000
--- a/server/testing/src/main/java/org/apache/james/utils/MockSpamdTestRule.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.utils;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.junit.rules.ExternalResource;
-
-public class MockSpamdTestRule extends ExternalResource {
-
-    private ExecutorService executor = Executors.newSingleThreadExecutor();
-    private MockSpamd spamd = new MockSpamd();
-
-    @Override
-    protected void before() throws Throwable {
-        spamd.bind();
-        executor.execute(spamd);
-    }
-
-    public int getPort() {
-        return spamd.getPort();
-    }
-
-    @Override
-    protected void after() {
-        executor.shutdownNow();
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/pom.xml
----------------------------------------------------------------------
diff --git a/third-party/pom.xml b/third-party/pom.xml
new file mode 100644
index 0000000..0ee2019
--- /dev/null
+++ b/third-party/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>james-project</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>third-party</artifactId>
+    <packaging>pom</packaging>
+
+    <name>Apache JAMES third party</name>
+    <description>Common utilities for integrating with third party software</description>
+    <inceptionYear>2018</inceptionYear>
+
+    <modules>
+        <module>spamassassin</module>
+    </modules>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/pom.xml
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/pom.xml b/third-party/spamassassin/pom.xml
new file mode 100644
index 0000000..4b1da22
--- /dev/null
+++ b/third-party/spamassassin/pom.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>third-party</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>apache-james-spamassassin</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>javax-mail-extension</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>metrics-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.github.fge</groupId>
+            <artifactId>throwing-lambdas</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.mail</groupId>
+            <artifactId>javax.mail</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.platform</groupId>
+            <artifactId>junit-platform-launcher</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>testcontainers</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
new file mode 100644
index 0000000..2a9fd8a
--- /dev/null
+++ b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
@@ -0,0 +1,251 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.spamassassin;
+
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.james.metrics.api.MetricFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.github.fge.lambdas.Throwing;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+
+/**
+ * Sends the message through daemonized SpamAssassin (spamd), visit <a
+ * href="SpamAssassin.org">SpamAssassin.org</a> for info on configuration.
+ */
+public class SpamAssassinInvoker {
+    private static final Logger LOGGER = LoggerFactory.getLogger(SpamAssassinInvoker.class);
+
+    enum MessageClass {
+        HAM("ham"),
+        SPAM("spam");
+
+        private final String value;
+
+        MessageClass(String value) {
+            this.value = value;
+        }
+    }
+
+    private static final int SPAM_INDEX = 1;
+    private static final int HITS_INDEX = 3;
+    private static final int REQUIRED_HITS_INDEX = 5;
+    private static final String CRLF = "\r\n";
+
+    private final MetricFactory metricFactory;
+    private final String spamdHost;
+    private final int spamdPort;
+
+    /**
+     * Init the spamassassin invoker
+     *
+     * @param spamdHost
+     *            The host on which spamd runs
+     * @param spamdPort
+     */
+    public SpamAssassinInvoker(MetricFactory metricFactory, String spamdHost, int spamdPort) {
+        this.metricFactory = metricFactory;
+        this.spamdHost = spamdHost;
+        this.spamdPort = spamdPort;
+    }
+
+    /**
+     * Scan a MimeMessage for spam by passing it to spamd.
+     * 
+     * @param message
+     *            The MimeMessage to scan
+     * @return true if spam otherwise false
+     * @throws MessagingException
+     *             if an error on scanning is detected
+     */
+    public SpamAssassinResult scanMail(MimeMessage message, String user) throws MessagingException {
+        return metricFactory.withMetric(
+            "spamAssassin-check",
+            Throwing.supplier(
+                () -> scanMailWithAdditionalHeaders(message,
+                    "User: " + user))
+                .sneakyThrow());
+    }
+
+    public SpamAssassinResult scanMail(MimeMessage message) throws MessagingException {
+        return metricFactory.withMetric(
+            "spamAssassin-check",
+            Throwing.supplier(
+                () -> scanMailWithoutAdditionalHeaders(message))
+            .sneakyThrow());
+    }
+
+    public SpamAssassinResult scanMailWithAdditionalHeaders(MimeMessage message, String... additionalHeaders) throws MessagingException {
+        try (Socket socket = new Socket(spamdHost, spamdPort);
+             OutputStream out = socket.getOutputStream();
+             BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
+             PrintWriter writer = new PrintWriter(bufferedOutputStream);
+             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
+
+            writer.write("CHECK SPAMC/1.2");
+            writer.write(CRLF);
+
+            Arrays.stream(additionalHeaders)
+                .forEach(header -> {
+                    writer.write(header);
+                    writer.write(CRLF);
+                });
+
+            writer.write(CRLF);
+            writer.flush();
+
+            // pass the message to spamd
+            message.writeTo(out);
+            out.flush();
+            socket.shutdownOutput();
+
+            return in.lines()
+                .filter(this::isSpam)
+                .map(this::processSpam)
+                .findFirst()
+                .orElse(SpamAssassinResult.empty());
+        } catch (UnknownHostException e) {
+            throw new MessagingException("Error communicating with spamd. Unknown host: " + spamdHost);
+        } catch (IOException | MessagingException e) {
+            throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort, e);
+        }
+    }
+
+    public SpamAssassinResult scanMailWithoutAdditionalHeaders(MimeMessage message) throws MessagingException {
+        return scanMailWithAdditionalHeaders(message);
+    }
+
+    private SpamAssassinResult processSpam(String line) {
+        List<String> elements = Lists.newArrayList(Splitter.on(' ').split(line));
+
+        return builderFrom(elements)
+            .hits(elements.get(HITS_INDEX))
+            .requiredHits(elements.get(REQUIRED_HITS_INDEX))
+            .build();
+    }
+
+    private SpamAssassinResult.Builder builderFrom(List<String> elements) {
+        if (spam(elements.get(SPAM_INDEX))) {
+            return SpamAssassinResult.asSpam();
+        } else {
+            return SpamAssassinResult.asHam();
+        }
+    }
+
+    private boolean spam(String string) {
+        try {
+            return Boolean.valueOf(string);
+        } catch (Exception e) {
+            LOGGER.warn("Fail parsing spamassassin answer: " + string);
+            return false;
+        }
+    }
+
+    private boolean isSpam(String line) {
+        return line.startsWith("Spam:");
+    }
+
+    /**
+     * Tell spamd that the given MimeMessage is a spam.
+     * 
+     * @param message
+     *            The MimeMessage to tell
+     * @throws MessagingException
+     *             if an error occured during learning.
+     */
+    public boolean learnAsSpam(InputStream message, String user) throws MessagingException {
+        return metricFactory.withMetric(
+            "spamAssassin-spam-report",
+            Throwing.supplier(
+                () -> reportMessageAs(message, user, MessageClass.SPAM))
+                .sneakyThrow());
+    }
+
+    /**
+     * Tell spamd that the given MimeMessage is a ham.
+     *
+     * @param message
+     *            The MimeMessage to tell
+     * @throws MessagingException
+     *             if an error occured during learning.
+     */
+    public boolean learnAsHam(InputStream message, String user) throws MessagingException {
+        return metricFactory.withMetric(
+            "spamAssassin-ham-report",
+            Throwing.supplier(
+                () -> reportMessageAs(message, user, MessageClass.HAM))
+                .sneakyThrow());
+    }
+
+    private boolean reportMessageAs(InputStream message, String user, MessageClass messageClass) throws MessagingException {
+        try (Socket socket = new Socket(spamdHost, spamdPort);
+             OutputStream out = socket.getOutputStream();
+             BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
+             PrintWriter writer = new PrintWriter(bufferedOutputStream);
+             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
+
+            byte[] byteArray = IOUtils.toByteArray(message);
+            writer.write("TELL SPAMC/1.2");
+            writer.write(CRLF);
+            writer.write("Content-length: " + byteArray.length);
+            writer.write(CRLF);
+            writer.write("Message-class: " + messageClass.value);
+            writer.write(CRLF);
+            writer.write("Set: local, remote");
+            writer.write(CRLF);
+            writer.write("User: " + user);
+            writer.write(CRLF);
+            writer.write(CRLF);
+            writer.flush();
+
+            out.write(byteArray);
+            out.flush();
+            socket.shutdownOutput();
+
+            return in.lines()
+                .anyMatch(this::hasBeenSet);
+        } catch (UnknownHostException e) {
+            throw new MessagingException("Error communicating with spamd. Unknown host: " + spamdHost);
+        } catch (IOException e) {
+            throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort, e);
+        }
+    }
+
+    private boolean hasBeenSet(String line) {
+        return line.startsWith("DidSet: ");
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinResult.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinResult.java b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinResult.java
new file mode 100644
index 0000000..96f98ea
--- /dev/null
+++ b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinResult.java
@@ -0,0 +1,109 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.spamassassin;
+
+import java.util.Map;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableMap;
+
+public class SpamAssassinResult {
+    /** The mail attribute under which the status get stored */
+    public static final String STATUS_MAIL_ATTRIBUTE_NAME = "org.apache.james.spamassassin.status";
+
+    /** The mail attribute under which the flag get stored */
+    public static final String FLAG_MAIL_ATTRIBUTE_NAME = "org.apache.james.spamassassin.flag";
+
+    public static final String NO_RESULT = "?";
+
+    public static SpamAssassinResult empty() {
+        return asHam()
+                .hits(NO_RESULT)
+                .requiredHits(NO_RESULT)
+                .build();
+    }
+
+    public static Builder asSpam() {
+        return new Builder(true);
+    }
+
+    public static Builder asHam() {
+        return new Builder(false);
+    }
+
+    public static class Builder {
+        
+        private String hits;
+        private String requiredHits;
+        private final boolean isSpam;
+
+        private Builder(boolean isSpam) {
+            this.isSpam = isSpam;
+        }
+
+        public Builder hits(String hits) {
+            this.hits = hits;
+            return this;
+        }
+
+        public Builder requiredHits(String requiredHits) {
+            this.requiredHits = requiredHits;
+            return this;
+        }
+
+        public SpamAssassinResult build() {
+            Preconditions.checkNotNull(hits);
+            Preconditions.checkNotNull(requiredHits);
+
+            ImmutableMap.Builder<String, String> headersAsAttribute = ImmutableMap.builder();
+            if (isSpam) {
+                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "YES");
+                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=" + hits + " required=" + requiredHits);
+            } else {
+                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "NO");
+                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "No, hits=" + hits + " required=" + requiredHits);
+            }
+
+            return new SpamAssassinResult(hits, requiredHits, headersAsAttribute.build());
+        }
+    }
+
+    private final String hits;
+    private final String requiredHits;
+    private final Map<String, String> headersAsAttribute;
+
+    private SpamAssassinResult(String hits, String requiredHits, Map<String, String> headersAsAttribute) {
+        this.hits = hits;
+        this.requiredHits = requiredHits;
+        this.headersAsAttribute = headersAsAttribute;
+    }
+
+    public String getHits() {
+        return hits;
+    }
+
+    public String getRequiredHits() {
+        return requiredHits;
+    }
+
+    public Map<String, String> getHeadersAsAttribute() {
+        return headersAsAttribute;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
new file mode 100644
index 0000000..fd4980c
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinExtension.java
@@ -0,0 +1,148 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.spamassassin;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Locale;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.api.extension.ParameterContext;
+import org.junit.jupiter.api.extension.ParameterResolutionException;
+import org.junit.jupiter.api.extension.ParameterResolver;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.images.builder.ImageFromDockerfile;
+
+import com.github.fge.lambdas.Throwing;
+
+public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallback, ParameterResolver {
+
+    private final GenericContainer<?> spamAssassinContainer;
+    private SpamAssassin spamAssassin;
+
+    public SpamAssassinExtension() {
+        spamAssassinContainer = new GenericContainer<>(
+            new ImageFromDockerfile()
+                .withFileFromClasspath("Dockerfile", "docker/spamassassin/Dockerfile")
+                .withFileFromClasspath("local.cf", "docker/spamassassin/local.cf")
+                .withFileFromClasspath("run.sh", "docker/spamassassin/run.sh")
+                .withFileFromClasspath("spamd.sh", "docker/spamassassin/spamd.sh")
+                .withFileFromClasspath("rule-update.sh", "docker/spamassassin/rule-update.sh")
+                .withFileFromClasspath("bayes_pg.sql", "docker/spamassassin/bayes_pg.sql"));
+        spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy(spamAssassinContainer));
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext context) {
+        spamAssassinContainer.start();
+        spamAssassin = new SpamAssassin(spamAssassinContainer);
+    }
+
+    @Override
+    public void afterEach(ExtensionContext context) {
+        spamAssassinContainer.close();
+    }
+
+    @Override
+    public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
+        return (parameterContext.getParameter().getType() == SpamAssassin.class);
+    }
+
+    @Override
+    public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
+        return spamAssassin;
+    }
+
+    public SpamAssassin getSpamAssassin() {
+        return spamAssassin;
+    }
+
+    public static class SpamAssassin {
+        
+        private static final int SPAMASSASSIN_PORT = 783;
+
+        private final String ip;
+        private final int bindingPort;
+        private final GenericContainer<?> spamAssassinContainer;
+
+        private SpamAssassin(GenericContainer<?> spamAssassinContainer) {
+            this.spamAssassinContainer = spamAssassinContainer;
+            this.ip = spamAssassinContainer.getContainerIpAddress();
+            this.bindingPort = spamAssassinContainer.getMappedPort(SPAMASSASSIN_PORT);
+        }
+
+        public String getIp() {
+            return ip;
+        }
+    
+        public int getBindingPort() {
+            return bindingPort;
+        }
+
+        public void train(String user) throws IOException, URISyntaxException {
+            train(user, Paths.get(ClassLoader.getSystemResource("spamassassin_db/spam").toURI()), TrainingKind.SPAM);
+            train(user, Paths.get(ClassLoader.getSystemResource("spamassassin_db/ham").toURI()), TrainingKind.HAM);
+        }
+
+        private void train(String user, Path folder, TrainingKind trainingKind) throws IOException {
+            spamAssassinContainer.getDockerClient().copyArchiveToContainerCmd(spamAssassinContainer.getContainerId())
+                .withHostResource(folder.toAbsolutePath().toString())
+                .withRemotePath("/root")
+                .exec();
+            try (Stream<Path> paths = Files.walk(folder)) {
+                paths
+                    .filter(Files::isRegularFile)
+                    .map(Path::toFile)
+                    .forEach(Throwing.consumer(file -> spamAssassinContainer.execInContainer("sa-learn",
+                        trainingKind.saLearnExtensionName(), "-u", user,
+                        "/root/" + trainingKind.name().toLowerCase(Locale.US) + "/" +  file.getName())));
+            }
+        }
+
+        private enum TrainingKind {
+            SPAM("--spam"), HAM("--ham");
+
+            private String saLearnExtensionName;
+
+            TrainingKind(String saLearnExtensionName) {
+                this.saLearnExtensionName = saLearnExtensionName;
+            }
+
+            public String saLearnExtensionName() {
+                return saLearnExtensionName;
+            }
+        }
+
+        public void sync(String user) throws UnsupportedOperationException, IOException, InterruptedException {
+            spamAssassinContainer.execInContainer("sa-learn", "--sync", "-u", user);
+        }
+
+        public void dump(String user) throws UnsupportedOperationException, IOException, InterruptedException {
+            spamAssassinContainer.execInContainer("sa-learn", "--dump", "magic", "-u", user);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
new file mode 100644
index 0000000..473c6bf
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
@@ -0,0 +1,147 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.spamassassin;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.ByteArrayInputStream;
+import java.nio.charset.StandardCharsets;
+
+import javax.mail.internet.MimeMessage;
+
+import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.spamassassin.SpamAssassinExtension.SpamAssassin;
+import org.apache.james.util.MimeMessageUtil;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(SpamAssassinExtension.class)
+public class SpamAssassinInvokerTest {
+
+    public static final String USER = "any@james";
+    private SpamAssassin spamAssassin;
+    private SpamAssassinInvoker testee;
+
+    @BeforeEach
+    public void setup(SpamAssassin spamAssassin) throws Exception {
+        this.spamAssassin = spamAssassin;
+        testee = new SpamAssassinInvoker(new NoopMetricFactory(), spamAssassin.getIp(), spamAssassin.getBindingPort());
+    }
+
+    @Test
+    public void scanMailShouldModifyHitsField() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHits()).isNotEqualTo(SpamAssassinResult.NO_RESULT);
+    }
+
+    @Test
+    public void scanMailShouldModifyRequiredHitsField() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getRequiredHits()).isEqualTo("5.0");
+    }
+
+    @Test
+    public void scanMailShouldModifyHeadersField() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHeadersAsAttribute()).isNotEmpty();
+    }
+
+    @Test
+    public void scanMailShouldMarkAsSpamWhenKnownAsSpam() throws Exception {
+        spamAssassin.train("user");
+        
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam1"));
+
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
+    }
+
+    @Test
+    public void learnAsSpamShouldReturnTrueWhenLearningWorks() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam2"));
+
+        boolean result = testee.learnAsSpam(mimeMessage.getInputStream(), USER);
+
+        assertThat(result).isTrue();
+    }
+
+    @Test
+    public void scanMailShouldMarkAsSpamWhenMessageAlreadyLearnedAsSpam() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam1"));
+
+        byte[] messageAsBytes = MimeMessageUtil.asString(mimeMessage).getBytes(StandardCharsets.UTF_8);
+
+        testee.learnAsSpam(new ByteArrayInputStream(messageAsBytes), USER);
+
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
+    }
+
+    @Test
+    public void learnAsHamShouldReturnTrueWhenLearningWorks() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+            ClassLoader.getSystemResourceAsStream("spamassassin_db/ham/ham2"));
+
+        boolean result = testee.learnAsHam(mimeMessage.getInputStream(), USER);
+
+        assertThat(result).isTrue();
+    }
+
+    @Test
+    public void scanMailShouldMarkAsHamWhenMessageAlreadyLearnedAsHam() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+            ClassLoader.getSystemResourceAsStream("spamassassin_db/ham/ham1"));
+
+        testee.learnAsHam(mimeMessage.getInputStream(), USER);
+
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
+    }
+
+    @Test
+    public void learnAsHamShouldAllowToForgetSpam() throws Exception {
+        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
+            ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
+
+        byte[] messageAsBytes = MimeMessageUtil.asString(mimeMessage).getBytes(StandardCharsets.UTF_8);
+
+        testee.learnAsSpam(new ByteArrayInputStream(messageAsBytes), USER);
+        testee.learnAsHam(new ByteArrayInputStream(messageAsBytes), USER);
+
+        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
+
+        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinResultTest.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinResultTest.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinResultTest.java
new file mode 100644
index 0000000..fb75604
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinResultTest.java
@@ -0,0 +1,96 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.spamassassin;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import org.assertj.core.api.JUnitSoftAssertions;
+import org.junit.Rule;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableMap;
+
+public class SpamAssassinResultTest {
+
+    @Rule
+    public JUnitSoftAssertions softly = new JUnitSoftAssertions();
+
+    @Test
+    public void buildShouldThrowWhenHitsIsNotGiven() {
+        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
+                .requiredHits("4.0")
+                .build())
+            .isInstanceOf(NullPointerException.class);
+    }
+
+    @Test
+    public void buildShouldThrowWhenRequiredHitsIsNotGiven() {
+        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
+                .hits("4.0")
+                .build())
+            .isInstanceOf(NullPointerException.class);
+    }
+
+    @Test
+    public void buildShouldWork() {
+        String hits = "1.1";
+        String requiredHits = "5.0";
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
+            .hits(hits)
+            .requiredHits(requiredHits)
+            .build();
+
+        softly.assertThat(spamAssassinResult.getHits()).isEqualTo(hits);
+        softly.assertThat(spamAssassinResult.getRequiredHits()).isEqualTo(requiredHits);
+        softly.assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsAllEntriesOf(ImmutableMap.of(
+                SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES",
+                SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=1.1 required=5.0"));
+    }
+
+    @Test
+    public void headersAsAttributeShouldContainSpamHeaderWithYESValueWhenBuiltAsSpam() {
+        String hits = "1.1";
+        String requiredHits = "5.0";
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
+            .hits(hits)
+            .requiredHits(requiredHits)
+            .build();
+
+        assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES");
+    }
+
+    @Test
+    public void headersAsAttributeShouldContainSpamHeaderWithNOValueWhenBuiltAsHam() {
+        String hits = "1.1";
+        String requiredHits = "5.0";
+
+        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asHam()
+            .hits(hits)
+            .requiredHits(requiredHits)
+            .build();
+
+        assertThat(spamAssassinResult.getHeadersAsAttribute())
+            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "NO");
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
new file mode 100644
index 0000000..c9f1c7a
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinWaitStrategy.java
@@ -0,0 +1,67 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.spamassassin;
+
+import java.io.IOException;
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import org.rnorth.ducttape.unreliables.Unreliables;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.WaitStrategy;
+import org.testcontainers.containers.wait.strategy.WaitStrategyTarget;
+
+import com.google.common.primitives.Ints;
+
+public class SpamAssassinWaitStrategy implements WaitStrategy {
+
+    private static final Duration DEFAULT_TIMEOUT = Duration.ofMinutes(1);
+    private final GenericContainer<?> spamAssassinContainer;
+    private Duration timeout = DEFAULT_TIMEOUT;
+
+    public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer) {
+        this(spamAssassinContainer, DEFAULT_TIMEOUT);
+    }
+
+    public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer, Duration timeout) {
+        this.spamAssassinContainer = spamAssassinContainer;
+        this.timeout = timeout;
+    }
+
+    @Override
+    public void waitUntilReady(WaitStrategyTarget waitStrategyTarget) {
+        Unreliables.retryUntilTrue(Ints.checkedCast(timeout.getSeconds()), TimeUnit.SECONDS, () -> {
+                try {
+                    return spamAssassinContainer
+                        .execInContainer("spamassassin", "-V")
+                        .getStdout()
+                        .contains("SpamAssassin version 3.4.1");
+                } catch (IOException | InterruptedException e) {
+                    return false;
+                }
+            }
+        );
+    }
+
+    @Override
+    public WaitStrategy withStartupTimeout(Duration startupTimeout) {
+        return new SpamAssassinWaitStrategy(spamAssassinContainer, startupTimeout);
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[17/24] james-project git commit: JAMES-2486 Remove com.jason-goodwin

Posted by bt...@apache.org.
JAMES-2486 Remove com.jason-goodwin


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a28cfedb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a28cfedb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a28cfedb

Branch: refs/heads/master
Commit: a28cfedbc9f879446d31091bc447a42f8bc5b38c
Parents: 6763e32
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Wed Jul 18 14:18:10 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/a28cfedb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8ff2e7f..ff10eef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1722,11 +1722,6 @@
                 <version>4.0</version>
             </dependency>
             <dependency>
-                <groupId>com.jason-goodwin</groupId>
-                <artifactId>better-monads</artifactId>
-                <version>0.4.0</version>
-            </dependency>
-            <dependency>
                 <groupId>com.jayway.awaitility</groupId>
                 <artifactId>awaitility</artifactId>
                 <version>1.6.5</version>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[23/24] james-project git commit: JAMES-2486 Update org.jsoup

Posted by bt...@apache.org.
JAMES-2486 Update org.jsoup


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f876c931
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f876c931
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f876c931

Branch: refs/heads/master
Commit: f876c931a2a3b330df018979ed86dcb9152c45dc
Parents: 0a35697
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Thu Jul 19 14:33:27 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:35 2018 +0700

----------------------------------------------------------------------
 mailbox/memory/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f876c931/mailbox/memory/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/memory/pom.xml b/mailbox/memory/pom.xml
index 99a3cd2..ffee6aa 100644
--- a/mailbox/memory/pom.xml
+++ b/mailbox/memory/pom.xml
@@ -84,7 +84,7 @@
         <dependency>
             <groupId>org.jsoup</groupId>
             <artifactId>jsoup</artifactId>
-            <version>1.9.2</version>
+            <version>1.11.3</version>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[04/24] james-project git commit: JAMES-2501 Create a SpamAssassin backend project

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam4
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam4 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam4
new file mode 100644
index 0000000..13c3b13
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam4
@@ -0,0 +1,213 @@
+From jordan23@mailexcite.com  Mon Jun 24 17:04:20 2002
+Return-Path: merchantsworld2001@juno.com
+Delivery-Date: Thu May 16 11:03:55 2002
+Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
+    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4GA3qe29480 for
+    <jm...@jmason.org>; Thu, 16 May 2002 11:03:52 +0100
+Received: from webnote.net (mail.webnote.net [193.120.211.219]) by
+    mandark.labs.netnoteinc.com (8.11.2/8.11.2) with ESMTP id g4GA3oD28650 for
+    <jm...@netnoteinc.com>; Thu, 16 May 2002 11:03:51 +0100
+Received: from webcust2.hightowertech.com (webcust2.hightowertech.com
+    [216.41.166.100]) by webnote.net (8.9.3/8.9.3) with ESMTP id BAA11067 for
+    <jm...@netnoteinc.com>; Thu, 16 May 2002 01:58:00 +0100
+Received: from html ([199.35.236.73]) by webcust2.hightowertech.com  with
+    Microsoft SMTPSVC(5.5.1877.197.19); Wed, 15 May 2002 13:50:57 -0700
+From: jordan23@mailexcite.com
+To: ranmoore@swbell.net
+Subject: New Improved Fat Burners, Now With TV Fat Absorbers! Time:7:20:54 AM
+Date: Thu, 31 Jul 1980 07:20:54
+MIME-Version: 1.0
+Message-Id: <09...@webcust2.hightowertech.com>
+X-Keywords: 
+Content-Type: text/html; charset="DEFAULT"
+
+<html>
+<body>
+<center>
+<b>
+<font color="blue">
+*****Bonus Fat Absorbers As Seen On TV, Included Free With Purchase Of 2 Or More Bottle, $24.95 Value*****
+</font>
+<br>
+<br>
+***TAKE $10.00 OFF 2 & 3 MONTH SUPPLY ORDERS, $5.00 OFF 1 MONTH SUPPLY!
+***AND STILL GET YOUR BONUS!  PRICE WILL BE DEDUCTED DURING PROCESSING.
+<br>
+<br>
+***FAT ABSORBERS ARE GREAT FOR THOSE WHO WANT TO LOSE WEIGHT,  BUT CAN'T STAY ON A DIET***
+<br>
+<br>
+***OFFER GOOD UNTIL MAY 27, 2002!  FOREIGN ORDERS INCLUDED!
+<br>
+<br>
+
+<font color="blue">
+
+LOSE 30 POUNDS  IN 30 DAYS... GUARANTEED!!!
+<br>
+<br>
+
+All Natural Weight-Loss Program, Speeds Up The Metabolism Safely
+Rated #1 In Both Categories of SAFETY & EFFECTIVENESS In<br>
+(THE United States Today)
+<br><br>
+WE'LL HELP YOU GET THINNER!
+WE'RE GOING TO HELP YOU LOOK GOOD, FEEL GOOD AND TAKE CONTROL IN
+2002
+<br>
+<br>
+</b>
+</font color="blue">
+</center>
+
+Why Use Our Amazing Weight Loss Capsules?
+<br><br>
+*  They act like a natural magnet to attract fat.<br>
+*  Stimulates the body's natural metabolism. <br>
+*  Controls appetite naturally and makes it easier to
+   eat the right foods consistently.<br>
+*  Reduces craving for sweets.<br>
+*  Aids in the absorption of fat and in overall digestion.<br>
+*  Inhibits bad cholesterol and boosts good cholesterol.<br>
+*  Aids in the process of weight loss and long-term weight management.<br>
+*  Completely safe, UltraTrim New Century contains no banned
+   substances and has no known side effects.<br>
+<br>
+What Makes UltraTrim New Century Unique?
+<br><br>
+A scientifically designed combination of natural ingredients that
+provide long-term weight management in a safe and effective manner.
+<br><br>
+*****<br>
+Receive A Bonus Supply Of Ultra Trim New Century & A Bottle Of Fat Absorbers Listed Above, 
+With Every Order Of 2 Or More Bottles. Offer Good Until May. 27, 2002! <br>
+*****
+<br><br>
+WE GLADLY SHIP TO ALL FOREIGN COUNTRIES! 
+<br><br>
+You will be losing by tomorrow!  Don't Wait, visit our web
+page below, and order now!
+<br><br>
+Email Address:   <a
+href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
+<br><br>
+Order by 24 Hour Fax!!!  775-257-6657.<br>
+<br>
+*****************<br>
+<a
+href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
+*****************
+<br><br>
+This is the easiest, fastest, and most effective way to lose both
+pounds and inches permanently!!!  This weight loss program is
+designed specifically to "boost" weight-loss efforts by assisting
+body metabolism, and helping the body's ability to manage weight.
+A powerful, safe, 30 Day Program.  This is one program you won't
+feel starved on.  Complete program for one amazing low price!
+Program includes: <b>BONUS AMAZING FAT ABSORBER CAPSULES, 30 DAY -
+WEIGHT
+REDUCTION PLAN, PROGRESS REPORT!</b>
+<br><br>
+SPECIAL BONUS..."FAT ABSORBERS", AS SEEN ON TV
+With every order...AMAZING MELT AWAY FAT ABSORBER CAPSULES with
+directions ( Absolutely Free ) ...With these capsules
+you can eat what you enjoy, without the worry of fat in your diet.
+2 to 3 capsules 15 minutes before eating or snack, and the fat will be
+absorbed and passed through the body without the digestion of fat into
+the body. 
+<br><br>
+You will be losing by tomorrow!  Don't Wait, visit our web
+page below, and order now!
+<br><br>
+Email Address:  <a href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
+<br><br>
+
+Order by 24 Hour Fax!!!  775-257-6657.<br>
+<br>
+*****************<br>
+<a
+href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
+*****************
+<br><br>
+___1 Month Supply $32.95 plus $4.75 S & H, 100 Amazing MegaTrim
+     Capsules.
+<br><br>
+___2 Month Supply $54.95 plus $4.75 S & H, 200 Amazing MegaTrim
+     Capsules.  (A $10.95 Savings, Free Bottle)!
+<br><br>
+___3 Month Supply $69.95,  Plus $4.75 S & H, 300 Amazing MegaTrim
+     Capsules.  (A $28.90 Savings, Free Bottle)!
+<br><br>
+To Order by postal mail, please send to the below address.
+Make payable to UltraTrim 2002.
+<br><br>
+Ultra Trim 2002<br>
+4132 Pompton Ct.<br>
+Dayton, Ohio  45405<br>
+(937) 567-9807<br>
+<br>
+Order by 24 Hour Voice/Fax!!!  775-257-6657.<br>
+<br>
+*****<br>
+<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
+ <br><br>
+*     Credit Card Address, City, State and Zip Code, must match
+      billing address to be processed. 
+<br><br>
+
+___Check<br>
+___MoneyOrder<br>
+___Visa<br>
+___MasterCard<br>
+___AmericanExpress<br>
+___Debt Card
+<br><br>
+Name_______________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+Address____________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+City,State,Zip(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+Country
+<br><br>
+___________________________________________________<br>
+(Credit Card Number)
+<br><br>
+Expiration Month_____  Year_____
+<br><br>
+___________________________________________________<br>
+Authorized Signature
+<br><br>
+<b>
+*****IMPORTANT NOTE*****
+</b>
+<br><br>
+If Shipping Address Is Different From The Billing Address Above,
+Please Fill Out Information Below.
+<br><br>
+Shipping Name______________________________________________
+<br><br>
+Shipping Address___________________________________________
+<br><br>
+___________________________________________________________<br>
+Shipping City,State,Zip
+<br><br>
+___________________________________________________________<br>
+Country
+<br><br>
+___________________________________________________________<br>
+Email Address & Phone Number(Please Write Neat)
+<br>
+<br>
+<center>
+<a
+href="mailto:ultratrim2002dontsend@yahoo.com">To Be Removed From Our Mail List, Click Here And Put The Word Remove In The Subject Line.</a>
+</center>
+<br>
+<br>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam5
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam5 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam5
new file mode 100644
index 0000000..f59fb7f
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam5
@@ -0,0 +1,161 @@
+From merchantsworld2001@juno.com  Tue Aug  6 11:01:33 2002
+Return-Path: <me...@juno.com>
+Delivered-To: yyyy@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 8399C44126
+	for <jm...@localhost>; Tue,  6 Aug 2002 05:55:17 -0400 (EDT)
+Received: from mail.webnote.net [193.120.211.219]
+	by localhost with POP3 (fetchmail-5.9.0)
+	for jm@localhost (single-drop); Tue, 06 Aug 2002 10:55:17 +0100 (IST)
+Received: from ns1.snaapp.com (066.dsl6660167.bstatic.surewest.net [66.60.167.66])
+	by webnote.net (8.9.3/8.9.3) with ESMTP id BAA09623
+	for <jm...@netnoteinc.com>; Sun, 4 Aug 2002 01:37:55 +0100
+Message-Id: <20...@webnote.net>
+Received: from html ([199.35.244.221]) by ns1.snaapp.com
+          (Post.Office MTA v3.1.2 release (PO205-101c)
+          ID# 0-47762U100L2S100) with SMTP id ABD354;
+          Sat, 3 Aug 2002 17:32:59 -0700
+From: yyyy@pluriproj.pt
+Reply-To: merchantsworld2001@juno.com
+To: yyyy@pluriproj.pt
+Subject: Never Repay Cash Grants, $500 - $50,000, Secret Revealed!
+Date: Sun, 19 Oct 1980 10:55:16
+Mime-Version: 1.0
+Content-Type: text/html; charset="DEFAULT"
+
+<html><xbody>
+<hr width = "100%">
+<center><h3><font color =
+"#44C300"><b>Government Grants E-Book 2002
+edition, Just $15.95. Summer Sale, Good Until August 10, 2002!  Was $49.95.</font></b><p>
+<table><Tr><td>
+<li>You Can Receive The <font color =
+"green"><b>Money</b></font> You Need...
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+						
+<li>Every day <b><font color = "green">millions of
+dollars</font></b> are given away to people, just like
+you!!
+<li>Your Government spends <b><font color =
+"green">billions</font></b> of tax dollars on
+government grants.
+<li>Do you know that private foundations, trust and
+corporations are
+<li>required to give away a portion of theirs assets.
+It doesn't matter,
+<li>where you live (USA ONLY), your employment status,
+or if you are broke, retired
+<li>or living on a fixed income. There may be a grant
+for you!
+<hr width = "100%">
+<li><font color = "red"><b>ANYONE</b></font> can apply
+for a Grant from 18 years old and up!
+<li>We will show you HOW & WHERE to get Grants. <font
+color = "red"><b>THIS BOOK IS NEWLY UPDATED WITH THE
+MOST CURRENT INFORMATION!!!</b></font>
+<li>Grants from $500.00 to $50,000.00 are possible!
+<li>GRANTS don't have to be paid back, EVER!
+<li>Grants can be ideal for people who are or were
+bankrupt or just have bad credit.
+</td></tr></table>
+<br><font size = "+1">Please Visit Our
+Website<p></font>
+And Place Your <font color = "red"> <b>Order
+TODAY!</b> </font><a target="_blank"  href =
+"http://www.geocities.com/grantzone_2002/" ><b><font
+size="5">CLICK HERE</font></b> </a><p>&nbsp;<p>
+
+To Order by postal mail, please send $15.95 Plus $4.00 S & H. <br>
+Make payable to <b>Grant Gold 2002</b>.<br>
+<br>
+</center>
+Grant Gold 2002<br>
+P. O. Box 36<br>
+Dayton, Ohio  45405<br>
+<br>
+If you would like to order via Fax, please include your credit card information below and fax to our Fax Line.<br>
+OUR 24 HOUR FAX NUMBER:  775-257-6657.
+<br><br>
+*****
+Important Credit Card Information! Please Read Below!<br><br>
+ 
+*     Credit Card Address, City, State and Zip Code, must match billing address to be processed. 
+<br><br>
+
+CHECK____  MONEYORDER____  VISA____ MASTERCARD____ AmericanExpress___ Debt Card___
+<br><br>
+Name_______________________________________________________<br>
+(As it appears on Check or Credit Card)<br>
+<br>
+Address____________________________________________________<br>
+(As it appears on Check or Credit Card)<br>
+<br>
+___________________________________________________<br>
+City,State,Zip(As it appears on Check or Credit Card)<br>
+<br>
+___________________________________________________<br>
+(Credit Card Number)<br>
+<br>
+Expiration Month_____  Year_____<br>
+<br>
+___________________________________________________<br>
+Email Address (Please Write Neat)<br>
+<br>
+___________________________________________________<br>
+Authorized Signature
+<p>
+<font size="1">
+We apologize for any email you may have inadvertently
+received.<br>
+Please <a target="_blank"  href =
+"http://www.mysoftwarefouruu.com/remove.htm" >CLICK
+HERE</a> to unsubscribe from future
+mailings.</font><br>
+
+</BODY>
+</HTML>
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam6
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam6 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam6
new file mode 100644
index 0000000..2783691
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam6
@@ -0,0 +1,423 @@
+Received: from hq.pro-ns.net (localhost [127.0.0.1])
+	by hq.pro-ns.net (8.12.5/8.12.5) with ESMTP id g6NLtshY000264
+	(version=TLSv1/SSLv3 cipher=EDH-DSS-DES-CBC3-SHA bits=168 verify=NO)
+	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 16:55:55 -0500 (CDT)
+	(envelope-from cpunks@hq.pro-ns.net)
+Received: (from cpunks@localhost)
+	by hq.pro-ns.net (8.12.5/8.12.5/Submit) id g6NLtsB8000241
+	for cypherpunks-forward@ds.pro-ns.net; Tue, 23 Jul 2002 16:55:54 -0500 (CDT)
+Received: from locust.minder.net (locust.minder.net [66.92.53.74])
+	by hq.pro-ns.net (8.12.5/8.12.5) with ESMTP id g6NLtlhY000182
+	(version=TLSv1/SSLv3 cipher=EDH-DSS-DES-CBC3-SHA bits=168 verify=NO)
+	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 16:55:50 -0500 (CDT)
+	(envelope-from cpunks@waste.minder.net)
+Received: from waste.minder.net (daemon@waste [66.92.53.73])
+	by locust.minder.net (8.11.6/8.11.6) with ESMTP id g6NLtjJ48674
+	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 17:55:45 -0400 (EDT)
+	(envelope-from cpunks@waste.minder.net)
+Received: (from cpunks@localhost)
+	by waste.minder.net (8.11.6/8.11.6) id g6NLtj014163
+	for cypherpunks@ds.pro-ns.net; Tue, 23 Jul 2002 17:55:45 -0400
+Received: from huffmanoil.net (216-166-208-195.clec.madisonriver.net [216.166.208.195])
+	by waste.minder.net (8.11.6/8.11.6) with ESMTP id g6NLtfR14140
+	for <cp...@waste.minder.net>; Tue, 23 Jul 2002 17:55:41 -0400
+Received: from html [61.230.8.153] by huffmanoil.net
+  (SMTPD32-7.10) id A2E8640144; Tue, 23 Jul 2002 05:33:28 -0400
+From: 3b3fke@ms10.hinet.net
+To: cpunks@waste.minder.net
+Subject: �٦b��20%���H�Υd�`���??? Time:PM 05:36:34
+Date: Fri, 23 Jul 1993 17:36:34
+Mime-Version: 1.0
+Content-Type: text/html; charset="CHINESEBIG5"
+Message-Id: <20...@html>
+Content-Transfer-Encoding: quoted-printable
+X-MIME-Autoconverted: from 8bit to quoted-printable by hq.pro-ns.net id g6O1WRhX085604
+
+cpurf
+
+<html>
+
+<head>
+<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dbig5">
+<meta name=3D"GENERATOR" content=3D"Microsoft FrontPage 4.0">
+<meta name=3D"ProgId" content=3D"FrontPage.Editor.Document">
+					=09
+					=09
+					=09
+					=09
+					=09
+					=09
+					=09
+<title>6</title>
+</head>
+
+<body background=3D"smart%20=BA=F4=A7}/H2020.gif">
+
+<form method=3D"POST" action=3D"http://www.xline.com.tw/f2m/f2m.php?F=3D1=
+015378933 " method=3D"POST">
+<input type=3D"hidden" name=3D"SOB"  value=3D"=A1=B3=A7Q=B2v">
+<p align=3D"center"><i><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><b><span sty=
+le=3D"letter-spacing: 5pt"><font color=3D"#0000FF" size=3D"6">=B1z=C1=D9=A6=
+b=A5=CE</font><font color=3D"#FF0000" size=3D"6"><u><span lang=3D"EN-US">=
+20<font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#FF0000" size=3D"7">%</f=
+ont></span></u></font><span lang=3D"EN-US"><font color=3D"#0000FF" size=3D=
+"6">=AA=BA=ABH=A5=CE=A5d=B6=DC     =20
+!!!</font><font color=3D"#0000FF" size=3D"5">&nbsp;</font></span></span><=
+/b></font></i></p>
+<p align=3D"center"><b><span style=3D"mso-ascii-font-family: Times New Ro=
+man"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"5" color=3D"#FF0000">=B9=
+s=A7Q=B2v=A5N=C0v</font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#0=
+000FF" size=3D"5">=AE=C9=A5N=A8=D3=C1{=C5o~~</font></span></b></p>       =
+     =20
+  <p align=3D"center"><span style=3D"mso-ascii-font-family: Times New Rom=
+an"><font size=3D"4" face=3D"=B7s=B2=D3=A9=FA=C5=E9"><b>&nbsp;</b></font>=
+</span><b><span style=3D"mso-ascii-font-family: Times New Roman"><font fa=
+ce=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000" size=3D"3">=A5=D8=ABe=B4`=
+=C0=F4=C1`=C3B</font></span><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D=
+"#000000" size=3D"3"><span lang=3D"EN-US">             =20
+  x </span><span style=3D"mso-ascii-font-family: Times New Roman">=ABH=A5=
+=CE=A5d=A7Q=B2v</span><span lang=3D"EN-US">                              =
+                                     =20
+  x 1/12 =3D =A1u1</span><span style=3D"mso-ascii-font-family: Times New =
+Roman">=AD=D3=A4=EB=A7Q=AE=A7=A1v=B6O=A5=CE</span></font></b></p>        =
+          =20
+  <p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><fo=
+nt face=3D"=B7s=B2=D3=A9=FA=C5=E9"><font color=3D"#000000"><span style=3D=
+"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
+ letter-spacing: 3.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>=20
+  <font size=3D"3"> =20
+  $100,000 x</font></b>                  =20
+  </span></font><b><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast=
+-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt" lang=3D"EN-US"><=
+i><font color=3D"#008000" size=3D"5">20%</font></i></span><font color=3D"=
+#000000" size=3D"3" face=3D"=B7s=B2=D3=A9=FA=C5=E9"><span style=3D"mso-bi=
+di-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; color:=
+ black; letter-spacing: 3.0pt" lang=3D"EN-US"> =20
+  <span lang=3D"EN-US" style=3D"font-size:14.0pt;                =20
+mso-bidi-font-size:10.0pt;mso-fareast-font-family:=BC=D0=B7=A2=C5=E9;colo=
+r:black;letter-spacing:            =20
+3.0pt"> x 1/12=3D</span></span></font><font color=3D"#FF0000"><i><span la=
+ng=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family=
+: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt"><font size=3D"5">$1,667</fon=
+t></span></i><font size=3D"2"><span style=3D"mso-bidi-font-size: 10.0pt; =
+mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt" lang=3D=
+"EN-US"><o:p>            =20
+  <span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-f=
+ont-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">             =20
+  =A1K=A5=A6=A6=E6=A7Q=AE=A7                  =20
+  </span></span></font></font></b></font><b><span lang=3D"EN-US" style=3D=
+"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
+ color: black; letter-spacing: 3.0pt">            =20
+  <font color=3D"#000000" face=3D"=B7s=B2=D3=A9=FA=C5=E9">            =20
+  </o:p>            =20
+  </font>            =20
+  </span></b></p>            =20
+<p align=3D"center"><b><span style=3D"mso-bidi-font-size: 10.0pt; mso-far=
+east-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-ker=
+ning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-b=
+idi-language: AR-SA"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><font color=3D=
+"#000000">$100,000 x   =20
+</font></font>  <font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#008000" s=
+ize=3D"5">   =20
+<i>0</i> <i><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; fon=
+t-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; l=
+etter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
+mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">%</span></i></font=
+> </span><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; font-f=
+amily: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; colo=
+r: black; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-langua=
+ge: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"> <font =
+face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000"> x 1/12=3D</font></span=
+></b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"5" color=3D"#FF0000"><=
+b><span lang=3D"EN-US" style=3D"font-size: 18.0pt; mso-bidi-font-size: 10=
+.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt"=
+><i><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=
+=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">$0</span></i></span></b></font><s=
+pan style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=
+!
+ =A2=C5=E9; letter-spacing: 3.0pt; mso-f
+t-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; =
+mso-bidi-language: AR-SA"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D=
+"#FF0000" size=3D"2">=A1K=A5=BB=A6=E6=A7Q=AE=A7</font></b></span><p class=
+=3D"MsoNormal" align=3D"center"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9">=
+<span style=3D"mso-ascii-font-family: Times New Roman">=B0=DF=A4@=A5u=A6=AC=
+=A8=FA=A4=E2=C4=F2=B6O=AC=B0=AE=D6=AD=E3=A5N=C0v=AA=F7=C3B=A4=A7   =20
+1 %</span></font></b></p>               =20
+<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-ascii-font-fam=
+ily: Times New Roman"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9">=A7Y&nbsp;=
+&nbsp;&nbsp; =20
+</font></b></span><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><span style=3D=
+"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
+ letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US=
+; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"><font color=3D"#=
+000000">$100,000 x</font></span></font></b><font face=3D"=B7s=B2=D3=A9=FA=
+=C5=E9"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#008000" size=3D=
+"6"><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=
+=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi=
+-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">=
+     =20
+ </span><font size=3D"5"><span style=3D"mso-bidi-font-size: 10.0pt; mso-f=
+areast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-k=
+erning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso=
+-bidi-language: AR-SA"> =20
+<i>1</i> <i><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; fon=
+t-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; l=
+etter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
+mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">%</span></i></span=
+></font></font><font size=3D"5"><span style=3D"mso-bidi-font-size: 10.0pt=
+; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso=
+-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-=
+TW; mso-bidi-language: AR-SA"><span lang=3D"EN-US" style=3D"mso-bidi-font=
+-size: 10.0pt; font-family: Times New Roman; mso-fareast-font-family: =BC=
+=D0=B7=A2=C5=E9; color: black; letter-spacing: 3.0pt; mso-font-kerning: 1=
+.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-lan=
+guage: AR-SA">=20
+</span></span></font><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10=
+.0pt; font-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=
+=C5=E9; color: black; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso=
+-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR=
+-SA"><font color=3D"#000000">=3D</font></span><font color=3D"#FF0000" siz=
+e=3D"5"><span lang=3D"EN-US" style=3D"font-size: 18.0pt; mso-bidi-font-si=
+ze: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: =
+3.0pt"><i><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-fam=
+ily: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">$1000</span></i></span></=
+font></b></font></p>             =20
+<p class=3D"MsoNormal" align=3D"center"><b><i><span style=3D"mso-bidi-fon=
+t-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spaci=
+ng: 3.0pt" lang=3D"EN-US"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"=
+#000000" size=3D"4">$1667-$1000=3D$667</font></span></i></b></p>         =
+   =20
+<p class=3D"MsoNormal" align=3D"center"><font color=3D"#FF0000" face=3D"=B7=
+s=B2=D3=A9=FA=C5=E9"><b><span lang=3D"EN-US" style=3D"font-size: 18.0pt; =
+mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; =
+letter-spacing: 3.0pt"><i><span style=3D"font-size: 18.0pt; mso-bidi-font=
+-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacin=
+g: 3.0pt">=B2=C4=A4@=AD=D3=A4=EB=A7Y=A5i=C0=B0=B1z=AC=D9=A4U667=A4=B8</sp=
+an></i></span></b></font></p>            =20
+<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
+ lang=3D"EN-US"><b><font color=3D"#FF0000"><font face=3D"=B7s=B2=D3=A9=FA=
+=C5=E9" size=3D"4">=A5N=C0v=A4Q=B8U=A4=B8=A1A=ABe=A4Q=A4=AD=AD=D3=A4=EB=A8=
+C=A4=EB=B3=CC=A7C=C0=B3=C3=BA=AC=B0</font><font face=3D"=B7s=B2=D3=A9=FA=C5=
+=E9" size=3D"5">$1000</font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D=
+"4">=A4=B8</font></font></b></span></p>            =20
+<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
+ lang=3D"EN-US"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000=
+" size=3D"4">=A5t=A6=B3=B3\=A6h=C0u=B4f=B1M=AE=D7=A8=D1=B1z=BF=EF=BE=DC!!=
+!</font></b></span></p>            =20
+<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
+ lang=3D"EN-US"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000080">=BD=
+=D0=B6=F1=A7=B4=A4U=A6C=AA=ED=AE=E6=A1A</font></span><font color=3D"#0000=
+80" face=3D"=B7s=B2=D3=A9=FA=C5=E9">=A7=DA=AD=CC=B1N=AC=B0=B1z=B1H=A4@=A5=
+=F7=A7=F3=B8=D4=B2=D3=A4=A7=B8=EA=AE=C6=A4=CE=A5=D3=BD=D0=AE=D1=B5=B9=B1z=
+=A1I&nbsp;&nbsp;&nbsp;&nbsp; </font></p>            =20
+<p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"4"><fon=
+t color=3D"#ff0000">&nbsp;&nbsp;&nbsp;</font><b>=20
+ =A9=CE=B9q=AC=A2=B1M=AD=FB:0968-523-989&nbsp;&nbsp; =B3=AF=A4p=A9j</b></=
+font></p>                                                                =
+=20
+  <div align=3D"center">            =20
+    <center>            =20
+    <input type=3D"hidden" value=3D" =A1=B3=A7Q=B2v" name=3D"SOB">
+    <table height=3D"207" cellSpacing=3D"1" cellPadding=3D"4" width=3D"51=
+7" bgColor=3D"#666666" border=3D"0">
+      <tbody>
+        <tr bgColor=3D"#ffffff">
+          <td width=3D"503" height=3D"197">
+            <table width=3D"100%" border=3D"0">
+              <tbody>
+                <tr>
+                  <td width=3D"16%"><font size=3D"2"><b>=A9m=A6W=A1G</b><=
+/font></td>
+                  <td width=3D"38%"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9=
+"><input size=3D"20" name=3D"name1"></font></b></td>
+                  <td width=3D"14%"><font size=3D"2"><b>=A9=CA=A7O :</b><=
+/font></td>  =20
+                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+>&nbsp;<input type=3D"radio" CHECKED value=3D"=A8k1" name=3D"R1">=A8k&nbs=
+p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   =20
+                    <input type=3D"radio" value=3D"=A4k1" name=3D"R1">=A4=
+k&nbsp;&nbsp;</font></td>
+                </tr>
+                <tr>
+                  <td width=3D"16%"><font size=3D"2"><b>=A6~<font face=3D=
+"=B7s=B2=D3=A9=FA=C5=E9">=C4=D6=A1G</font></b></font></td>
+                  <td width=3D"38%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+><input size=3D"8" name=3D"age1">&nbsp;&nbsp;&nbsp;</font></td>
+                  <td width=3D"14%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+><b><font size=3D"2">=20
+  =C2=BE=B7~</font> :</b></font></td>   =20
+                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+><input size=3D"19" name=3D"occ1"></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"16%"><font size=3D"2"><b>&nbsp;e-mail=A1G<=
+/b></font></td>
+                  <td width=3D"38%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+><input size=3D"22" name=3D"mail1"></font></td>
+                  <td width=3D"14%"><font size=3D"2"><b>=B9q=B8=DC=A1G</b=
+></font></td>
+                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
+><!--webbot
+                    bot=3D"Validation" s-data-type=3D"Number"
+                    s-number-separators=3D"x." --><input size=3D"23" name=
+=3D"tel1"></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"16%"><font size=3D"2"><b>=A6a=A7}=A1G</b><=
+/font></td>
+                  <td width=3D"84%" colspan=3D"3"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9"><input size=3D"56" name=3D"uemail1"></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9" size=3D"2"><b>=ABH=A5=CE=A5d=C1`=B1i=BC=C6=A1G</b></font>&n=
+bsp;   =20
+                    <font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><select size=3D=
+"1" name=3D"D2">            =20
+    <option value=3D"1 ~ 3=B1i=ABH=A5=CE=A5d" selected>=A2=B0=A1=E3=A2=B2=
+=B1i=ABH=A5=CE=A5d</option>            =20
+    <option value=3D"3 ~ 5=B1i=ABH=A5=CE=A5d">=A2=B2=A1=E3=A2=B4=B1i=ABH=A5=
+=CE=A5d</option>            =20
+    <option value=3D"5 ~ 8=B1i=ABH=A5=CE=A5d">=A2=B4=A1=E3=A2=B7=B1i=ABH=A5=
+=CE=A5d</option>            =20
+    <option value=3D"8=B1i=ABH=A5=CE=A5d=A5H=A4W">=A2=B7=B1i=ABH=A5=CE=A5=
+d=A5H=A4W</option>            =20
+  </select></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9" size=3D"2"><b>=A9=D2=AB=F9=ABH=A5=CE=A5d=A4=A4=C3B=AB=D7=B3=
+=CC=B0=AA=AC=B0=A1G&nbsp;&nbsp;   =20
+                    </b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><sel=
+ect size=3D"1" name=3D"D3">                                              =
+                  =20
+    <option value=3D"=C3B=AB=D73=A1=E35=B8U" selected>=C3B=AB=D7=A2=B2=A1=
+=E3=A2=B4=B8U</option>            =20
+    <option value=3D"=C3B=AB=D75=A1=E38=B8U">=C3B=AB=D7=A2=B4=A1=E3=A2=B7=
+=B8U</option>            =20
+    <option value=3D"=C3B=AB=D78=A1=E312=B8U">=C3B=AB=D7=A2=B7=A1=E3=A2=B0=
+=A2=B1=B8U</option>            =20
+    <option value=3D"=C3B=AB=D712=A1=E315=B8U">=C3B=AB=D7=A2=B0=A2=B1=A1=E3=
+=A2=B0=A2=B4=B8U</option>            =20
+    <option value=3D"=C3B=AB=D715=A1=E319=B8U">=C3B=AB=D7=A2=B0=A2=B4=A1=E3=
+=A2=B0=A2=B8=B8U</option>            =20
+    <option value=3D"=C3B=AB=D719=B8U=A5H=A4W">=C3B=AB=D7=A2=B0=A2=B8=B8U=
+=A5H=A4W</option>            =20
+  </select></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"50%" colspan=3D"2"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9" size=3D"2"><b>=20
+  =B1=FD=A5N=C0v=AA=F7=C3B :</b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9=
+"><select size=3D"1" name=3D"D4">                                        =
+                           =20
+    <option value=3D"=C0v=C1=D93=A1=E35=B8U" selected>=C0v=C1=D9=A2=B2=A1=
+=E3=A2=B4=B8U</option>            =20
+    <option value=3D"=C0v=C1=D95=A1=E38=B8U">=C0v=C1=D9=A2=B4=A1=E3=A2=B7=
+=B8U</option>            =20
+    <option value=3D"=C0v=C1=D98=A1=E312=B8U">=C0v=C1=D9=A2=B7=A1=E3=A2=B0=
+=A2=B1=B8U</option>            =20
+    <option value=3D"=C0v=C1=D912=A1=E315=B8U">=C0v=C1=D9=A2=B0=A2=B1=A1=E3=
+=A2=B0=A2=B4=B8U</option>            =20
+    <option value=3D"=C0v=C1=D915=A1=E319=B8U">=C0v=C1=D9=A2=B0=A2=B4=A1=E3=
+=A2=B0=A2=B8=B8U</option>            =20
+    <option value=3D"=C0v=C1=D919=B8U=A5H=A4W">=C0v=C1=D9=A2=B0=A2=B8=B8U=
+=A5H=A4W</option>            =20
+  </select></font></td>
+                  <td width=3D"50%" colspan=3D"2"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9" size=3D"2"><b> =C1p=B5=B8=B1z=B3=CC=A8=CE=AE=C9=B6=A1=A1G</=
+b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><select size=3D"1" name=3D=
+"D5">                                =20
+    <option value=3D"=B3=A3=A5i=A5H" selected>=B3=A3=A5i=A5H</option>    =
+        =20
+    <option value=3D"=A4W=A4=C8">=A4W=A4=C8</option>            =20
+    <option value=3D"=A4U=A4=C8">=A4U=A4=C8</option>           =20
+    <option value=3D"=B1=DF=A4W">=B1=DF=A4W</option>            =20
+  </select></font></td>
+                </tr>
+                <tr>
+                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9"><b><font size=3D"2">=ACO=A7_=B4=BF=BF=EC=B9L=A5N=C0v:&nbsp;=
+&nbsp;       =20
+  <input type=3D"radio" value=3D"NO" name=3D"R2">=A4=A3=B4=BF &nbsp;&nbsp=
+;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
+                    <input type=3D"radio" value=3D"YES" name=3D"R2">=B4=BF=
+=BF=EC=B9L <!--webbot
+                    bot=3D"Validation" s-data-type=3D"Number"
+                    s-number-separators=3D"x." --><input size=3D"17" name=
+=3D"BK">=BB=C8=A6=E6</font></b>&nbsp;&nbsp;</font>=20
+                  </td>
+                </tr>
+                <tr>
+                  <td width=3D"16%"><font size=3D"2"><b>=B3=C6=B5=F9=A1G<=
+/b></font></td>
+                  <td width=3D"84%" colspan=3D"3"><font face=3D"=B7s=B2=D3=
+=A9=FA=C5=E9"><!--webbot
+                    bot=3D"Validation" s-data-type=3D"Number"
+                    s-number-separators=3D"x." --><input size=3D"47" name=
+=3D"PS2"></font>=20
+                  </td>
+                </tr>
+                <tr>
+                  <td width=3D"100%" colSpan=3D"4">
+                    <p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=
+=E9"><input type=3D"reset" value=3D"=AD=AB=B6=F1" name=3D"=AD=AB=B6=F11">=
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
+                    <input type=3D"submit" value=3D"=A7=DA=B6=F1=A6n=A4F=A1=
+I50" name=3D"smart=ABH=A5=CE=A5d1"> =20
+                    </font></td>
+                </tr>
+              </tbody>
+            </table>
+            <p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><fo=
+nt color=3D"#ff0000" size=3D"3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;           =
+    =20
+            </font><font size=3D"3"><u><b>=A5X=B2{<font color=3D"#FF0000"=
+>=B6=C7=B0e=A7=B9=A6=A8</font>=A1A=A7Y=AA=ED=A5=DC=A6=A8=A5\=B1H=A5X=C5o!=
+!</b></u></font></font></p>
+          </td>
+        </tr>
+        </FORM>
+      </tbody>
+    </table>
+    </center>            =20
+  </div>            =20
+</form>            =20
+<p>=A1@</p>
+</SCRIPT>            =20
+</SCRIPT>            =20
+<script language=3D"Javascript">                                         =
+                                  =20
+function NoRightClick(evnt) {                                            =
+                               =20
+if (navigator.appName.toUpperCase().match(/NETSCAPE/) !=3D null) {       =
+                                                                    =20
+if (evnt.which =3D=3D 3){alert("=ADn=B4L=AD=AB=B5=DB=A7@=C5v=A3=AC!! ");r=
+eturn false;}}else                                                       =
+                    =20
+if (event.button=3D=3D2)alert("=ADn=B4L=AD=AB=B5=DB=A7@=C5v=A3=AC!! ");} =
+                                                                         =
+ =20
+document.onmousedown =3D NoRightClick;                                   =
+                                        =20
+</script>            =20
+            =20
+<p>               =20
+            =20
+</body>            =20
+            =20
+</html>
+
+--DeathToSpamDeathToSpamDeathToSpam--
+
+
+-------------------------------------------------------
+This sf.net email is sponsored by:ThinkGeek
+Welcome to geek heaven.
+http://thinkgeek.com/sf
+_______________________________________________
+Spamassassin-Sightings mailing list
+Spamassassin-Sightings@lists.sourceforge.net
+https://lists.sourceforge.net/lists/listinfo/spamassassin-sightings
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam7
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam7 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam7
new file mode 100644
index 0000000..76e8e4e
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam7
@@ -0,0 +1,71 @@
+From sales@outsrc-em.com  Mon Jun 24 17:53:15 2002
+Return-Path: sales@outsrc-em.com
+Delivery-Date: Thu Jun 20 20:08:33 2002
+Received: from outsrc-em.com ([166.70.149.104]) by dogma.slashnull.org
+    (8.11.6/8.11.6) with SMTP id g5KJ8WI08701 for <jm...@jmason.org>;
+    Thu, 20 Jun 2002 20:08:32 +0100
+Message-Id: <20...@dogma.slashnull.org>
+From: "Outsource Sales" <sa...@outsrc-em.com>
+To: "yyyy@spamassassin.taint.org" <yy...@spamassassin.taint.org>
+Subject: New Product Announcement
+Sender: "Outsource Sales" <sa...@outsrc-em.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="ISO-8859-1"
+Date: Fri, 3 Jan 1997 17:24:47 -0700
+Reply-To: "Outsource Sales" <sa...@outsrc-em.com>
+Content-Transfer-Encoding: 8bit
+X-Keywords: 
+
+NEW PRODUCT ANNOUNCEMENT
+
+From: OUTSOURCE ENG.& MFG. INC.
+
+
+Sir/Madam;
+
+This note is to inform you of new watchdog board technology for maintaining
+continuous unattended operation of PC/Servers etc. that we have released for
+distribution.
+  
+We are proud to announce Watchdog Control Center featuring MAM (Multiple
+Applications Monitor) capability.
+The key feature of this application enables you to monitor as many
+applications as you
+have resident on any computer as well as the operating system for
+continuous unattended operation.  The Watchdog Control Center featuring
+MAM capability expands third party application "control" of a Watchdog as
+access to the application's
+source code is no longer needed.
+
+Here is how it all works:
+Upon installation of the application and Watchdog, the user may select
+many configuration options, based on their model of Watchdog, to fit their
+operational needs.  If the MAM feature is enabled, the user may select any
+executable program that they wish for monitoring.
+
+A lock up of the operating system or if any one of the selected
+applications is not running, the MAM feature, in
+conjunction with the Watchdog, will reset the system allowing for
+continuous operation.
+
+It's that simple!
+
+Watchdog Control Center is supported on most Microsoft Windows platforms
+(Win9x/WinNT/Win2k) and includes a Linux version for PCI Programmable
+Watchdogs.
+
+Watchdog Control Center Features:
+- Automated installation
+- Controls all Outsource Engineering Watchdogs
+- User selectable Watchdog timeout period
+- User selectable Watchdog stroke interval
+- Multiple Application Monitoring
+
+Included on the Installation CD:
+- Watchdog Control Center
+- Watchdog Drivers
+- Documentation
+
+For more information, please visit out website at
+http://www.outsrc-em.com/ or send an e-mail to sales@outsrc-em.com
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam8
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam8 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam8
new file mode 100644
index 0000000..addf463
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam8
@@ -0,0 +1,321 @@
+From ormlh@imail.ru  Sun Jul 15 04:56:31 2001
+Return-Path: <or...@imail.ru>
+Delivered-To: yyyy@netnoteinc.com
+Received: from cccp.co.kr (unknown [211.218.149.105]) by
+    mail.netnoteinc.com (Postfix) with SMTP id 789D51140BA for
+    <jm...@netnoteinc.com>; Sun, 15 Jul 2001 03:56:28 +0000 (Eire)
+Received: from imail.ru [210.14.5.95] by cccp.co.kr running [nMail 1.04
+    (Windows NT/2000) SMTP Server]; Wed, 11 Jul 2001 02:41:35 +0900
+Message-Id: <00...@imail.ru>
+To: <67...@163.net>
+From: ormlh@imail.ru
+Subject: FW:
+Date: Fri, 02 Jan 1998 04:30:44 -0400
+MIME-Version: 1.0
+Content-Transfer-Encoding: quoted-printable
+X-Priority: 3
+X-Msmail-Priority: Normal
+X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
+
+
+<HTML>
+<BODY bgColor=3D#C0C0C0>
+
+<FONT face=3D"Arial">
+<FONT size=3D4>
+<FONT color=3D"#800040"> Thank you for your interest!</FONT>
+<FONT size=3D3>
+<FONT color=3D"#800040">  </FONT>
+<FONT color=3D"#000000">                         <BR>
+<BR>
+Judgment Courses offers an extensive Audio training<BR>
+course in </FONT>
+<FONT color=3D"#0000A0"> "How to Collect Money Judgments"</FONT>
+<FONT color=3D"#000000">  .         </FONT>
+<FONT size=3D2>
+<FONT color=3D"#000000"> S6</FONT>
+<FONT size=3D3>
+<FONT color=3D"#000000"> <BR>
+<BR>
+If you are like many people, you are not even sure what a<BR>
+Money Judgment is and </FONT>
+<FONT color=3D"#0000A0"> why processing Money Judgments<BR>
+can earn you very substantial income</FONT>
+<FONT color=3D"#000000">  .<BR>
+<BR>
+If you ever sue a company or a person and you win then you<BR>
+will have a Money Judgment against them.<BR>
+<BR>
+You are happy you won but you will soon find out the<BR>
+shocking fact: "Its now up to you to collect on the<BR>
+Judgment". The court does not require the loser to pay you.<BR>
+The court will not even help you. You must trace the loser<BR>
+down, find their assets, their employment, bank accounts,<BR>
+real estate, stocks and bonds, etc.<BR>
+<BR>
+Very few people know how to find these assets or what to do<BR>
+when they are found. The result is that millions of<BR>
+Judgments are just sitting in files and being forgotten.<BR>
+<BR>
+"In 79% of the cases the winner of a Judgment never sees a<BR>
+dime."<BR>
+<BR>
+The non-payment of judicial debt has grown to epidemic<BR>
+proportions. Right now in the United States there is<BR>
+between </FONT>
+<FONT color=3D"#0000A0"> 200 and 300 billion dollars of uncollected Money<=
+BR>
+Judgment debt</FONT>
+<FONT color=3D"#000000">  . For every Judgment that is paid, 5 more<BR>
+Judgments take its place.<BR>
+<BR>
+We identified this massive market 8 years ago and have<BR>
+actively pursued Judicial Judgments since. We invented this<BR>
+business. We have perfected it into a well proven and solid<BR>
+profession in which only a select few will be trained in the<BR>
+techniques necessary to succeed.<BR>
+<BR>
+With our first hand experience we have built a course which<BR>
+teaches you how to start your business in this new unknown<BR>
+and exciting field of processing Money Judgments.<BR>
+<BR>
+By following the steps laid out in our course and with<BR>
+reasonable effort you can become very successful in the<BR>
+processing of Money Judgments.<BR>
+<BR>
+The income potential is substantial in this profession. </FONT>
+<FONT color=3D"#0000A0"> We<BR>
+have associates who have taken our course and are now<BR>
+working full time making $96,000.00 to over $200,000.00 per<BR>
+year. Part time associates are earning between $24,000.00<BR>
+and $100,000.00 per year </FONT>
+<FONT color=3D"#000000"> . Some choose to operate out of<BR>
+their home and work by themselves. Others build a sizable<BR>
+organization of 15 to 25 people in attractive business<BR>
+offices.<BR>
+<BR>
+Today our company and our associates have over 126<BR>
+million dollars in Money Judgments that we are currently<BR>
+processing. Of this 126 million, 25 million is in the form<BR>
+of joint ventures between our firm and our associates.<BR>
+Joint ventures are where we make our money. We only break<BR>
+even when our course is purchased. We make a 12% margin on<BR>
+the reports we supply to our associates. Our reporting<BR>
+capability is so extensive that government agencies, police<BR>
+officers, attorneys, credit agencies etc., all come to us<BR>
+for reports.<BR>
+<BR>
+<BR>
+Many of our associates already have real estate liens in<BR>
+force of between 5 million to over 15 million dollars.<BR>
+Legally this means that when the properties are sold or<BR>
+refinanced our associate must be paid off. The norm is 10%<BR>
+interest compounded annually on unpaid Money Judgments.<BR>
+Annual interest on 5 million at 10% translates to<BR>
+$500,000.00 annually in interest income, not counting the<BR>
+payment of the principal.<BR>
+<BR>
+Our associates earn half of this amount or $250,000.00 per<BR>
+year. This is just for interest, not counting principle<BR>
+and not counting the compounding of the interest which can<BR>
+add substantial additional income. Typically companies are<BR>
+sold for 10 times earnings. Just based on simple interest<BR>
+an associate with 5 million in real estate liens could sell<BR>
+their business for approximately 2.5 million dollars.<BR>
+<BR>
+</FONT>
+<FONT color=3D"#0000A0"> 92% of all of our associates work out of their ho=
+me; 43%<BR>
+are women and 36% are part time</FONT>
+<FONT color=3D"#000000">  .<BR>
+<BR>
+One of the benefits of working in this field is that you are<BR>
+not under any kind of time frame. If you decide to take off<BR>
+for a month on vacation then go. The Judgments you are<BR>
+working on will be there when you return. The Judgments<BR>
+are still in force, they do not disappear.<BR>
+<BR>
+The way we train you is non-confrontational. You use your<BR>
+computer and telephone to do most of the processing. You<BR>
+never confront the debtor. The debtor doesn't know who you<BR>
+are. You are not a collection agency.<BR>
+<BR>
+Simply stated the steps to successful Money Processing<BR>
+are as follows:<BR>
+<BR>
+Mail our recommended letter to companies and individuals<BR>
+with Money Judgments. (We train you how to find out who<BR>
+to write to)<BR>
+<BR>
+8% to 11% of the firms and people you write will call you<BR>
+and ask for your help. They call you, you don't call them<BR>
+unless you want to.<BR>
+<BR>
+You send them an agreement (supplied in the course) to<BR>
+sign which splits every dollar you collect 50% to you and<BR>
+50% to them. This applies no matter if the judgment is for<BR>
+$2,000.00 or $2,000,000.00.<BR>
+<BR>
+You then go on-line to our computers to find the debtor<BR>
+and their assets. We offer over 120 powerful reports to<BR>
+assist you. They range from credit reports from all three<BR>
+credit bureaus, to bank account locates, employment<BR>
+locates, skip traces and locating stocks and bonds, etc.<BR>
+The prices of our reports are very low. Typically 1/2 to<BR>
+1/3 of what other firms charge. For example we charge<BR>
+$6.00 for an individuals credit report when some other<BR>
+companies charge $25.00.<BR>
+<BR>
+Once you find the debtor and their assets you file<BR>
+garnishments and liens on the assets you have located.<BR>
+(Standard fill in the blanks forms are included in the<BR>
+course)<BR>
+<BR>
+When you receive the assets you keep 50% and send 50% to<BR>
+the original Judgment holder.<BR>
+<BR>
+Once the Judgment is fully paid you mail a Satisfaction of<BR>
+Judgment to the court. (Included in the course)<BR>
+<BR>
+Quote's from several of our students:<BR>
+<BR>
+Thomas in area code 516 writes us: "I just wanted to drop<BR>
+you a short note thanking you for your excellent course. </FONT>
+<FONT color=3D"#0000A0"> My<BR>
+first week, part time, will net me 3,700.00 dollars</FONT>
+<FONT color=3D"#000000">  . Your<BR>
+professionalism in both the manual and the video opened<BR>
+doors for me in the future. There's no stopping me now.<BR>
+Recently Thomas states he has over $8,500,000 worth of<BR>
+judgments he is working on.<BR>
+<BR>
+After only having this course for four months, Larry S. in<BR>
+area code 314 stated to us: " </FONT>
+<FONT color=3D"#0000A0"> I am now making $2,000.00 per<BR>
+week </FONT>
+<FONT color=3D"#000000"> and expect this to grow to twice this amount with=
+in the<BR>
+next year. I am having a ball. I have over $250,000 in<BR>
+judgments I am collecting on now."<BR>
+<BR>
+After having our course for 7 months Larry S. in 314 stated<BR>
+" </FONT>
+<FONT color=3D"#0000A0"> I am now making $12,000.00</FONT>
+<FONT color=3D"#000000">  per month and have approximately<BR>
+$500,000.00 in judgments I am collecting on. Looks like I<BR>
+will have to hire someone to help out"<BR>
+<BR>
+Marshal in area code 407 states to us "I feel bad, you only<BR>
+charged me $259.00 for this course and it is a goldmine. I<BR>
+have added 3 full time people to help me after only having<BR>
+your course for 5 months"<BR>
+<BR>
+>From the above information and actual results you can see<BR>
+why we can state the following:<BR>
+<BR>
+With our course you can own your own successful business.<BR>
+A business which earns you substantial income now and one<BR>
+which could be sold in 3-5 years, paying you enough to<BR>
+retire on and travel the world. A business which is<BR>
+extremely interesting to be in. A Business in which every<BR>
+day is new and exciting.<BR>
+<BR>
+None of your days will be hum-drum. Your brain is<BR>
+Challenged. A business, which protects you from Corporate<BR>
+Downsizing. A business which you can start part time from<BR>
+your home and later, if you so desire, you can work in full<BR>
+time. A business, which is your ticket to freedom from<BR>
+others telling you what to do. A business, which lets you<BR>
+control your own destiny. Our training has made this happen<BR>
+for many others already. Make it happen for you!<BR>
+<BR>
+If the above sounds interesting to you then its time for you<BR>
+to talk to a real live human being, no cost or obligation<BR>
+on your part.<BR>
+<BR>
+</FONT>
+<FONT color=3D"#800040"> Please call us at 1_406_652_0194 </FONT>
+<FONT color=3D"#000000"> .<BR>
+<BR>
+We have </FONT>
+<FONT color=3D"#800040"> Customer Support staff available to you from 8:00=
+am to<BR>
+9:00pm (Mountain Time) 7 days a week</FONT>
+<FONT color=3D"#000000">  . If you call this number<BR>
+you can talk to one of our experienced Customer Support personnel.<BR>
+They can answer any questions you may have - with no obligation.<BR>
+Sometimes we run special pricing on our courses and combinations<BR>
+of courses. When you call our Customer Support line they can let<BR>
+you know of any specials we may be running. If you like what you<BR>
+read and hear about our courses, then the Customer Support person<BR>
+can work with you to place your order. We are very low key. We<BR>
+merely give you the facts and you can then decide if you want to<BR>
+work with us or not.<BR>
+<BR>
+Thank you for your time and interest.<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+<BR>
+</FONT>
+<FONT face=3D"Courier New">
+<FONT size=3D2>
+<FONT color=3D"#000000"> .................................................=
+....................<BR>
+T h i s message i s produced a n d sent out by:<BR>
+Universal S.y.s.t.e.m.s.<BR>
+To be dropped form our mailing list please email us at <BR>
+james77@mail.asia-links.com call us toll free at 1=3D888=3D605=3D2485<BR>
+and  g i v e us y o u r email a d d r e s s  or w r i t e  us a t:<BR>
+*Central*DB*Processing, PO: Box:1200, O r a n j e s t a d, Aruba<BR>
+.....................................................................<BR>
+</FONT>
+<FONT face=3D"Arial">
+<FONT size=3D3>
+<FONT color=3D"#000000"> <BR>
+<BR>
+</FONT>
+<FONT size=3D3>
+<FONT color=3D"#000000"> <BR>
+<BR>
+</FONT>
+<FONT size=3D3>
+<FONT color=3D"#000000"> <BR>
+<BR>
+<BR>
+<BR>
+<BR>
+</FONT>
+<FONT size=3D2>
+<FONT color=3D"#000000"> <BR>
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=
+'''''''''''<BR>
+</FONT>
+<FONT size=3D3>
+<FONT color=3D"#000000"> <BR>
+</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FO=
+NT></FONT></FONT></BODY></HTML>
+
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam9
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam9 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam9
new file mode 100644
index 0000000..163bde8
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam9
@@ -0,0 +1,142 @@
+From spamassassin-sightings-admin@lists.sourceforge.net  Tue Jul  2 13:04:23 2002
+Return-Path: <sp...@example.sourceforge.net>
+Delivered-To: yyyy@localhost.labs.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix on SuSE Linux 8.0 (i386)) with ESMTP id BB16E14F914
+	for <jm...@localhost>; Tue,  2 Jul 2002 12:56:51 +0100 (IST)
+Received: from dogma.slashnull.org [212.17.35.15]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for jm@localhost (single-drop); Tue, 02 Jul 2002 12:56:51 +0100 (IST)
+Received: from usw-sf-list2.sourceforge.net (usw-sf-fw2.sourceforge.net
+    [216.136.171.252]) by dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id
+    g61Iat611966 for <jm...@jmason.org>; Mon, 1 Jul 2002 19:36:56
+    +0100
+Received: from usw-sf-list1-b.sourceforge.net ([10.3.1.13]
+    helo=usw-sf-list1.sourceforge.net) by usw-sf-list2.sourceforge.net with
+    esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 17P62B-0000rw-00; Mon,
+    01 Jul 2002 11:36:23 -0700
+Received: from [64.86.155.148] (helo=ok61655.com) by
+    usw-sf-list1.sourceforge.net with smtp (Exim 3.31-VA-mm2 #1 (Debian)) id
+    17P60P-0006ds-00 for <sp...@lists.sourceforge.net>;
+    Mon, 01 Jul 2002 11:34:34 -0700
+From: "MR.DOUGLAS  AND PRINCESS M." <do...@yahoo.co.uk>
+Reply-To: princessmar001@yahoo.com
+To: spamassassin-sightings@example.sourceforge.net
+X-Mailer: Microsoft Outlook Express 5.00.2919.6900 DM
+MIME-Version: 1.0
+Message-Id: <E1...@usw-sf-list1.sourceforge.net>
+Subject: [SA] URGENT HELP..............
+Sender: spamassassin-sightings-admin@example.sourceforge.net
+Errors-To: spamassassin-sightings-admin@example.sourceforge.net
+X-Beenthere: spamassassin-sightings@example.sourceforge.net
+X-Mailman-Version: 2.0.9-sf.net
+Precedence: bulk
+List-Help: <mailto:spamassassin-sightings-request@example.sourceforge.net?subject=help>
+List-Post: <ma...@example.sourceforge.net>
+List-Subscribe: <https://example.sourceforge.net/lists/listinfo/spamassassin-sightings>,
+    <mailto:spamassassin-sightings-request@lists.sourceforge.net?subject=subscribe>
+List-Id: <spamassassin-sightings.example.sourceforge.net>
+List-Unsubscribe: <https://example.sourceforge.net/lists/listinfo/spamassassin-sightings>,
+    <mailto:spamassassin-sightings-request@lists.sourceforge.net?subject=unsubscribe>
+List-Archive: <http://www.geocrawler.com/redir-sf.php3?list=spamassassin-sightings>
+X-Original-Date: Mon, 5 Apr 1999 20:38:02 +0100
+Date: Mon, 5 Apr 1999 20:38:02 +0100
+Content-Type: multipart/mixed; boundary="===_SecAtt_000_1fnapngoonxcrm"
+
+--===_SecAtt_000_1fnapngoonxcrm
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: quoted-printable
+
+
+DEAR SIR=2C
+URGENT AND CONFIDENTIAL=3A
+
+Re=3ATransfer of $50=2C000=2E000=2E00 USD=5BFIFTY MILLION UNITED
+STATES DOLLARS=5D=2E
+
+WE WANT TO TRANSFER TO OVERSEAS=5B$50=2C000=2E000=2E00=5BFIFTY
+MILLION UNITED STATES DOLLARS=5DFROM A SECURITY COMPANY
+IN SPAIN=2CI WANT TO ASK YOU TO QUIETLY LOOK FOR A
+RELIABLE AND HONEST PERSON WHO WILL BE CAPABLE AND FIT
+TO PROVIDE EITHER AN EXISTING BANK ACCOUNT OR TO SET
+UP A NEW BANK ACCOUNT IMMEDIATELY TO RECEIVE THIS
+MONEY=2CEVEN AN EMPTY ACCOUNT CAN SERVE TO RECEIVE THIS
+MONEY=2CAS LONG AS YOU WILL REMAIN HONEST TO ME TILL THE
+END OF THIS IMPORTANT BUSINESS TRANSACTION=2EI WANT TO
+BELIEVE THAT YOU WILL NEVER LET ME DOWN EITHER NOW OR
+IN FUTURE=2E
+
+I AM DOUGLAS SMITH=2CTHE AUDITOR GENERAL OF MAGNUM TRUST
+INC=2E MADRID SPAIN DURING THE COURSE OF OUR AUDITING=2CI DISCOVERED A
+FLOATING FUND IN AN ACCOUNT OPENED IN THE SECURITY
+COMPANY IN 1990 AND SINCE 1993 NOBODY HAS OPERATED ON
+THIS ACCOUNT AGAIN=2C AFTER GOING THROUGH SOME OLD FILES
+IN THE RECORDS I DISCOVERED THAT THE OWNER OF THE
+ACCOUNT DIED WITHOUT A HEIR HENCE THE MONEY IS
+FLOATING AND IF I DO NOT REMIT THIS MONEY OUT
+URGENTLY=2CIT WILL BE FORFEITED FOR NOTHING=2E
+
+THE OWNER OF THIS ACCOUNT WAS =22MR=2EALLAN P=2E SEAMAN=22=2CA FOREIGNER AND AN INDUSTRIALIST=2CAND HE DIED SINCE 1993 AND NO OTHER PERSON KNOWS ABOUT THIS ACCOUNT OR ANYTHING CONCERNING IT=2CTHE ACCOUNT HAS NO BENEFICIARY AND MY INVESTIGATION PROVED TO ME AS WELL THAT ALLAN=2EP SEAMAN UNTILL HIS DEATH WAS THE MANAGER DIAMOND SAFARI=5BPTY=5DS=2EA=2E
+
+WE WILL START THE FIRST TRANSFER WITH $20 MILLION
+DOLLARS=5BTWENTY MILLION DOLLARS=5DUPON SUCCESSFUL
+TRANSFER WITHOUT ANY DISAPPOINTMENT FROM YOUR SIDE=2CWE
+SHALL RE-APPLY FOR THE TRANSFER OF THE REMAINING $30
+MILLION USA DOLLARS=5BTHIRTY MILLION UNITED STATES
+DOLLARS=5DINTO YOUR ACCOUNT BRINGING THE SUM TOTAL TO
+$50=2C000=2E000=2E00=5BFIFTY MILLION DOLLARS=5D=2E
+
+I AM CONTACTING YOU AS A FOREIGNER BECAUSE THIS MONEY
+CAN ONLY BE APPROVED TO A FOREIGNER WITH VALID
+INTERNATIONAL PASSPORT=2CDRIVERS LICENCE AND FOREIGN
+ACCOUNT BECAUSE THE MONEY IS IN USA DOLLARS AND THE
+FORMER OWNER OF THE ACCOUNT=22MR=2EALLAN P=2ESEAMAN IS A
+FOREIGNER=2EI WILL LIKE US TO MEET FACE TO FACE TO SIGN
+A BINDING AGREEMENT THAT WILL BIND US TOGETHER IN THE
+BUSINESS=2CI AM REVEALING ALL THESE TO YOU WITH THE
+BELIEF THAT YOU WILL NEVER LET ME DOWN IN THIS
+BUSINESS=2CYOU ARE THE FIRST AND ONLY PERSON I AM
+CONTACTING FOR THE BUSINESS=2CSO PLEASE REPLY URGENTLY
+FOR ME TO TELL YOU THE NEXT STEP TO TAKE=2EYOU SHOULD
+FORWARD YOUR TELEPHONE AND FAX NUMBERS AND YOUR BANK
+ACCOUNT DETAILS THAT WILL BE USED IN TRANSFERING THE
+MONEY=2E
+
+YOU WILL HAVE TO GIVE ME THE ASSURANCE WHEN WE
+MEET THAT THIS MONEY WILL BE INTACT PENDING OUR
+PHYSICAL ARRIVAL IN YOUR COUNTRY FOR SHARING AND
+DISBURSEMENT OF THE FUND WHICH WILL BE 35% FOR YOUR
+ASSISTANCE=2C60% WILL BE FOR US WHILE 5% WILL  BE SET
+ASIDE TO TAKE CARE OF ALL THE EXPENSES THAT WILL BE
+INCURRED BY BOTH PARTIES DURING THE COURSE OF THE
+TRANSFER=2E
+
+I LOOK FORWARD TO YOUR EARLIEST RESPONSE=2CALL
+CORRESPONDENCE FOR NOW SHOULD BE EMAIL FOR SECURITY
+REASONS=2E
+
+BEST REGARDS=2E
+
+DOUGLAS SMITH  =28PLEASE  CONTACT ME THROUGH  MY WIFE EMAIL=28princessmar001=40yahoo=2Ecom=29FOR CONFIDENCAIL
+
+
+
+--===_SecAtt_000_1fnapngoonxcrm
+Content-Type: application/octet-stream; name="aaaaaaa.txt"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="aaaaaaa.txt"
+
+
+--===_SecAtt_000_1fnapngoonxcrm
+
+
+
+-------------------------------------------------------
+This sf.net email is sponsored by:ThinkGeek
+Welcome to geek heaven.
+http://thinkgeek.com/sf
+_______________________________________________
+Spamassassin-Sightings mailing list
+Spamassassin-Sightings@lists.sourceforge.net
+https://lists.sourceforge.net/lists/listinfo/spamassassin-sightings
+


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[18/24] james-project git commit: JAMES-2486 Drop joda-time

Posted by bt...@apache.org.
JAMES-2486 Drop joda-time


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1c69d370
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1c69d370
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1c69d370

Branch: refs/heads/master
Commit: 1c69d3708503d7d1481e690f3a378b1c7d58d924
Parents: c4e0467
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Thu Jul 19 11:31:00 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml                                         |  6 -----
 server/data/data-api/pom.xml                    |  4 ---
 .../sieverepository/api/SieveRepository.java    |  4 +--
 .../cassandra/CassandraActiveScriptDAO.java     |  4 ++-
 .../cassandra/CassandraSieveRepository.java     |  4 +--
 .../sieve/cassandra/model/ActiveScriptInfo.java | 11 ++++----
 .../file/SieveDefaultRepository.java            |  8 +++---
 .../file/SieveFileRepository.java               |  8 +++---
 .../lib/AbstractSieveRepositoryTest.java        |  6 +++--
 server/mailet/mailets/pom.xml                   |  4 ---
 .../transport/mailets/jsieve/ActionContext.java |  6 ++---
 .../mailets/jsieve/ResourceLocator.java         | 14 +++++-----
 .../mailets/jsieve/SieveMailAdapter.java        | 12 ++++-----
 .../mailets/jsieve/VacationAction.java          |  8 ++++--
 .../james/transport/mailets/DSNBounceTest.java  | 28 +++++++++++---------
 .../mailets/delivery/SieveIntegrationTest.java  | 15 +++++------
 .../redirect/NotifyMailetsMessageTest.java      |  5 ++--
 17 files changed, 72 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b453fec..8180a56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -634,7 +634,6 @@
         <jetty.version>9.4.7.v20170914</jetty.version>
         <testcontainers.version>1.8.1</testcontainers.version>
         <metrics.version>3.2.6</metrics.version>
-        <joda.version>2.9.4</joda.version>
         <assertj.version>3.3.0</assertj.version>
         <es.version>2.2.1</es.version>
         <es-reporter.version>2.2.0</es-reporter.version>
@@ -1949,11 +1948,6 @@
                 <version>1.1.0</version>
             </dependency>
             <dependency>
-                <groupId>joda-time</groupId>
-                <artifactId>joda-time</artifactId>
-                <version>${joda.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-api/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-api/pom.xml b/server/data/data-api/pom.xml
index cfbd462..36f68bd 100644
--- a/server/data/data-api/pom.xml
+++ b/server/data/data-api/pom.xml
@@ -59,10 +59,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>joda-time</groupId>
-            <artifactId>joda-time</artifactId>
-        </dependency>
-        <dependency>
             <groupId>nl.jqno.equalsverifier</groupId>
             <artifactId>equalsverifier</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java b/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
index ea50969..f9d8c0b 100644
--- a/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
+++ b/server/data/data-api/src/main/java/org/apache/james/sieverepository/api/SieveRepository.java
@@ -21,6 +21,7 @@
 package org.apache.james.sieverepository.api;
 
 import java.io.InputStream;
+import java.time.ZonedDateTime;
 import java.util.List;
 
 import org.apache.james.core.User;
@@ -29,7 +30,6 @@ import org.apache.james.sieverepository.api.exception.IsActiveException;
 import org.apache.james.sieverepository.api.exception.QuotaExceededException;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
 import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
 
 
 /**
@@ -56,7 +56,7 @@ public interface SieveRepository extends SieveQuotaRepository {
     
     List<ScriptSummary> listScripts(User user) throws StorageException;
 
-    DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException;
+    ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException;
 
     InputStream getActive(User user) throws ScriptNotFoundException, StorageException;
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
index b3773f9..47c598d 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
@@ -29,6 +29,8 @@ import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.
 import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.TABLE_NAME;
 import static org.apache.james.sieve.cassandra.tables.CassandraSieveActiveTable.USER_NAME;
 
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 import java.util.Date;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -70,7 +72,7 @@ public class CassandraActiveScriptDAO {
                 .setString(USER_NAME, user.asString()))
             .thenApply(rowOptional -> rowOptional.map(row -> new ActiveScriptInfo(
                 new ScriptName(row.getString(SCRIPT_NAME)),
-                row.getTimestamp(DATE))));
+                ZonedDateTime.ofInstant(row.getTimestamp(DATE).toInstant(), ZoneOffset.UTC))));
     }
 
     public CompletableFuture<Void> unactivate(User user) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
index 56a7563..a3874ee 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java
@@ -21,6 +21,7 @@ package org.apache.james.sieve.cassandra;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -43,7 +44,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
 import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
 import org.apache.james.util.CompletableFutureUtil;
-import org.joda.time.DateTime;
 
 public class CassandraSieveRepository implements SieveRepository {
 
@@ -59,7 +59,7 @@ public class CassandraSieveRepository implements SieveRepository {
     }
 
     @Override
-    public DateTime getActivationDateForActiveScript(User user) throws ScriptNotFoundException {
+    public ZonedDateTime getActivationDateForActiveScript(User user) throws ScriptNotFoundException {
         return cassandraActiveScriptDAO.getActiveSctiptInfo(user).join()
             .orElseThrow(ScriptNotFoundException::new)
             .getActivationDate();

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
index 051d7a4..6f975ef 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/model/ActiveScriptInfo.java
@@ -19,26 +19,25 @@
 
 package org.apache.james.sieve.cassandra.model;
 
-import java.util.Date;
+import java.time.ZonedDateTime;
 
 import org.apache.james.sieverepository.api.ScriptName;
-import org.joda.time.DateTime;
 
 public class ActiveScriptInfo {
 
     private final ScriptName name;
-    private final DateTime activationDate;
+    private final ZonedDateTime activationDate;
 
-    public ActiveScriptInfo(ScriptName name, Date date) {
+    public ActiveScriptInfo(ScriptName name, ZonedDateTime activationDate) {
         this.name = name;
-        this.activationDate = new DateTime(date);
+        this.activationDate = activationDate;
     }
 
     public ScriptName getName() {
         return name;
     }
 
-    public DateTime getActivationDate() {
+    public ZonedDateTime getActivationDate() {
         return activationDate;
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
index bfa8f64..8155bc8 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
@@ -24,6 +24,9 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.InputStream;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 import java.util.List;
 
 import javax.inject.Inject;
@@ -41,7 +44,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
 import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
 import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
 
 /**
  * <code>SieveFileRepository</code> manages sieve scripts stored on the file system.
@@ -83,8 +85,8 @@ public class SieveDefaultRepository implements SieveRepository {
     }
 
     @Override
-    public DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
-        return new DateTime(retrieveUserFile(user).lastModified());
+    public ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
+        return ZonedDateTime.ofInstant(Instant.ofEpochMilli(retrieveUserFile(user).lastModified()), ZoneOffset.UTC);
     }
 
     public File retrieveUserFile(User user) throws ScriptNotFoundException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
index b544ef5..d856dcd 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
@@ -29,6 +29,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -51,7 +54,6 @@ import org.apache.james.sieverepository.api.exception.QuotaExceededException;
 import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
 import org.apache.james.sieverepository.api.exception.StorageException;
-import org.joda.time.DateTime;
 
 /**
  * <code>SieveFileRepository</code> manages sieve scripts stored on the file system.
@@ -272,8 +274,8 @@ public class SieveFileRepository implements SieveRepository {
     }
 
     @Override
-    public DateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
-        return new DateTime(getActiveFile(user).lastModified());
+    public ZonedDateTime getActivationDateForActiveScript(User user) throws StorageException, ScriptNotFoundException {
+        return ZonedDateTime.ofInstant(Instant.ofEpochMilli(getActiveFile(user).lastModified()), ZoneOffset.UTC);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
index a057d3a..266d8b8 100644
--- a/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/sieverepository/lib/AbstractSieveRepositoryTest.java
@@ -23,6 +23,9 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.james.core.User;
@@ -36,7 +39,6 @@ import org.apache.james.sieverepository.api.exception.IsActiveException;
 import org.apache.james.sieverepository.api.exception.QuotaExceededException;
 import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
 import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
-import org.joda.time.DateTime;
 import org.junit.Test;
 
 public abstract class AbstractSieveRepositoryTest {
@@ -72,7 +74,7 @@ public abstract class AbstractSieveRepositoryTest {
         sieveRepository.putScript(USER, SCRIPT_NAME, SCRIPT_CONTENT);
         sieveRepository.setActive(USER, SCRIPT_NAME);
         assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotNull();
-        assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotEqualTo(new DateTime(0L));
+        assertThat(sieveRepository.getActivationDateForActiveScript(USER)).isNotEqualTo(ZonedDateTime.ofInstant(Instant.ofEpochMilli(0L), ZoneOffset.UTC));
     }
 
     @Test(expected = ScriptNotFoundException.class)

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml
index 9e65f80..5a3f3cc 100644
--- a/server/mailet/mailets/pom.xml
+++ b/server/mailet/mailets/pom.xml
@@ -205,10 +205,6 @@
             <artifactId>javax.inject</artifactId>
         </dependency>
         <dependency>
-            <groupId>joda-time</groupId>
-            <artifactId>joda-time</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
index e21d0ed..062772e 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionContext.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.james.transport.mailets.jsieve;
 
+import java.time.ZonedDateTime;
 import java.util.Collection;
 
 import javax.mail.MessagingException;
@@ -25,7 +26,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.james.core.MailAddress;
 import org.apache.mailet.Mail;
-import org.joda.time.DateTime;
 
 /**
  * Provides context for action execution.
@@ -35,12 +35,12 @@ public interface ActionContext {
     /**
      * @return Date the script was activated
      */
-    DateTime getScriptActivationDate();
+    ZonedDateTime getScriptActivationDate();
 
     /**
      * @return Date the script is currently interpreted
      */
-    DateTime getScriptInterpretationDate();
+    ZonedDateTime getScriptInterpretationDate();
 
     /**
      * @return Recipient receiving the given eMail

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
index cdb310c..68c306b 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ResourceLocator.java
@@ -19,32 +19,32 @@
 package org.apache.james.transport.mailets.jsieve;
 
 import java.io.InputStream;
+import java.time.ZonedDateTime;
 
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.User;
 import org.apache.james.sieverepository.api.SieveRepository;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
-import org.joda.time.DateTime;
 
 public class ResourceLocator {
 
     public static class UserSieveInformation {
-        private DateTime scriptActivationDate;
-        private DateTime scriptInterpretationDate;
+        private ZonedDateTime scriptActivationDate;
+        private ZonedDateTime scriptInterpretationDate;
         private InputStream scriptContent;
 
-        public UserSieveInformation(DateTime scriptActivationDate, DateTime scriptInterpretationDate, InputStream scriptContent) {
+        public UserSieveInformation(ZonedDateTime scriptActivationDate, ZonedDateTime scriptInterpretationDate, InputStream scriptContent) {
             this.scriptActivationDate = scriptActivationDate;
             this.scriptInterpretationDate = scriptInterpretationDate;
             this.scriptContent = scriptContent;
         }
 
-        public DateTime getScriptActivationDate() {
+        public ZonedDateTime getScriptActivationDate() {
             return scriptActivationDate;
         }
 
-        public DateTime getScriptInterpretationDate() {
+        public ZonedDateTime getScriptInterpretationDate() {
             return scriptInterpretationDate;
         }
 
@@ -63,7 +63,7 @@ public class ResourceLocator {
 
     public UserSieveInformation get(MailAddress mailAddress) throws Exception {
         User username = retrieveUsername(mailAddress);
-        return new UserSieveInformation(sieveRepository.getActivationDateForActiveScript(username), DateTime.now(), sieveRepository.getActive(username));
+        return new UserSieveInformation(sieveRepository.getActivationDateForActiveScript(username), ZonedDateTime.now(), sieveRepository.getActive(username));
     }
 
     private User retrieveUsername(MailAddress mailAddress) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
index 82b236d..ed0feba 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.james.transport.mailets.jsieve;
 
+import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -51,7 +52,6 @@ import org.apache.jsieve.mail.SieveMailException;
 import org.apache.jsieve.mail.optional.EnvelopeAccessors;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetContext;
-import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -82,8 +82,8 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
     private final ActionDispatcher dispatcher;
     
     private final Poster poster;
-    private final DateTime scriptActivationDate;
-    private final DateTime scriptInterpretationDate;
+    private final ZonedDateTime scriptActivationDate;
+    private final ZonedDateTime scriptInterpretationDate;
     private final MailAddress recipient;
 
     /**
@@ -93,7 +93,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      * @param aMailetContext
      */
     public SieveMailAdapter(final Mail aMail, final MailetContext aMailetContext, final ActionDispatcher dispatcher, final Poster poster,
-                            DateTime scriptActivationDate, DateTime scriptInterpretationDate, MailAddress recipient) {
+                            ZonedDateTime scriptActivationDate, ZonedDateTime scriptInterpretationDate, MailAddress recipient) {
         this.poster = poster;
         this.dispatcher = dispatcher;
         this.scriptInterpretationDate = scriptInterpretationDate;
@@ -104,12 +104,12 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
     }
 
     @Override
-    public DateTime getScriptActivationDate() {
+    public ZonedDateTime getScriptActivationDate() {
         return scriptActivationDate;
     }
 
     @Override
-    public DateTime getScriptInterpretationDate() {
+    public ZonedDateTime getScriptInterpretationDate() {
         return scriptInterpretationDate;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
index 7fe9f3a..b3847b9 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.transport.mailets.jsieve;
 
+import java.time.temporal.ChronoUnit;
 import java.util.Enumeration;
 import java.util.Set;
 
@@ -29,7 +30,6 @@ import org.apache.james.core.MailAddress;
 import org.apache.jsieve.mail.Action;
 import org.apache.jsieve.mail.optional.ActionVacation;
 import org.apache.mailet.Mail;
-import org.joda.time.Days;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,7 +43,11 @@ public class VacationAction implements MailAction {
     @Override
     public void execute(Action action, Mail mail, ActionContext context) throws MessagingException {
         ActionVacation actionVacation = (ActionVacation) action;
-        int dayDifference = Days.daysBetween(context.getScriptActivationDate(), context.getScriptInterpretationDate()).getDays();
+        int dayDifference = Long.valueOf(
+            ChronoUnit.DAYS.between(
+                context.getScriptActivationDate().toLocalDate(),
+                context.getScriptInterpretationDate().toLocalDate()))
+            .intValue();
         if (isStillInVacation(actionVacation, dayDifference)) {
             if (isValidForReply(mail, actionVacation, context)) {
                 if (!isMailingList(mail)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
index def7677..002c0d6 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/DSNBounceTest.java
@@ -26,6 +26,9 @@ import static org.mockito.Mockito.when;
 
 import java.net.InetAddress;
 import java.nio.charset.StandardCharsets;
+import java.text.DateFormat;
+import java.time.Instant;
+import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
 
@@ -49,7 +52,6 @@ import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailContext.SentMail;
 import org.apache.mailet.base.test.FakeMailetConfig;
-import org.joda.time.DateTime;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -131,7 +133,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -162,7 +164,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -203,7 +205,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -242,7 +244,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
                 .build();
 
@@ -281,7 +283,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
                 .build();
 
@@ -304,7 +306,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
                 .build();
 
@@ -328,7 +330,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .remoteAddr("remoteHost")
                 .build();
 
@@ -353,7 +355,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -385,7 +387,7 @@ public class DSNBounceTest {
             .sender(senderMailAddress)
             .name(MAILET_NAME)
             .recipient("recipient@domain.com")
-            .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+            .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
             .mimeMessage(mimeMessage)
             .build();
         MimeMessage mimeMessageCopy = new MimeMessage(mimeMessage);
@@ -423,7 +425,7 @@ public class DSNBounceTest {
                     .setSubject("mySubject"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -458,7 +460,7 @@ public class DSNBounceTest {
                     .setText("My content"))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);
@@ -489,7 +491,7 @@ public class DSNBounceTest {
                     .addHeader(RFC2822Headers.DATE, expectedDate))
                 .name(MAILET_NAME)
                 .recipient("recipient@domain.com")
-                .lastUpdated(DateTime.parse("2016-09-08T14:25:52.000Z").toDate())
+                .lastUpdated(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")))
                 .build();
 
         dsnBounce.service(mail);

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index faad032..66ac1cb 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.io.IOException;
+import java.time.ZonedDateTime;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeBodyPart;
@@ -41,9 +42,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.base.test.FakeMailetConfig;
-import org.joda.time.DateTime;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -53,11 +51,10 @@ public class SieveIntegrationTest {
     public static final String LOCAL_PART = "receiver";
     public static final String RECEIVER_DOMAIN_COM = LOCAL_PART + "@domain.com";
 
-    public static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss");
-    public static final DateTime DATE_CLOSE = formatter.parseDateTime("2016-01-16 00:00:00");
-    public static final DateTime DATE_DEFAULT = formatter.parseDateTime("2016-01-14 00:00:00");
-    public static final DateTime DATE_NEW = formatter.parseDateTime("2016-01-18 00:00:00");
-    public static final DateTime DATE_OLD = formatter.parseDateTime("2011-01-18 00:00:00");
+    public static final ZonedDateTime DATE_CLOSE = ZonedDateTime.parse("2016-01-16T00:00:00Z");
+    public static final ZonedDateTime DATE_DEFAULT = ZonedDateTime.parse("2016-01-14T00:00:00Z");
+    public static final ZonedDateTime DATE_NEW = ZonedDateTime.parse("2016-01-18T00:00:00Z");
+    public static final ZonedDateTime DATE_OLD = ZonedDateTime.parse("2011-01-18T00:00:00Z");
     public static final MailboxPath NOT_SELECTED_MAILBOX = MailboxPath.forUser(LOCAL_PART, "INBOX.not.selected");
     public static final MailboxPath SELECTED_MAILBOX = MailboxPath.forUser(LOCAL_PART, "INBOX.select");
     public static final MailboxPath INBOX = MailboxPath.forUser(LOCAL_PART, "INBOX");
@@ -932,7 +929,7 @@ public class SieveIntegrationTest {
         prepareTestUsingScriptAndDates(script, DATE_DEFAULT, DATE_DEFAULT);
     }
 
-    private void prepareTestUsingScriptAndDates(String script, DateTime scriptCreationDate, DateTime scriptExecutionDate) throws Exception {
+    private void prepareTestUsingScriptAndDates(String script, ZonedDateTime scriptCreationDate, ZonedDateTime scriptExecutionDate) throws Exception {
         when(usersRepository.supportVirtualHosting()).thenReturn(false);
         when(usersRepository.getUser(new MailAddress(LOCAL_PART + "@localhost"))).thenReturn(LOCAL_PART);
         when(usersRepository.getUser(new MailAddress(LOCAL_PART + "@domain.com"))).thenReturn(LOCAL_PART);

http://git-wip-us.apache.org/repos/asf/james-project/blob/1c69d370/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
index 3cb08d7..235d65e 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/redirect/NotifyMailetsMessageTest.java
@@ -23,6 +23,8 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.time.Instant;
+import java.util.Date;
 import java.util.Optional;
 import java.util.TimeZone;
 
@@ -34,7 +36,6 @@ import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.util.MimeMessageUtil;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
-import org.joda.time.DateTime;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -94,7 +95,7 @@ public class NotifyMailetsMessageTest {
     @Test
     public void generateMessageShouldAddSentDateWhenMimeMessageAsSome() throws Exception {
         MimeMessage message = MimeMessageUtil.defaultMimeMessage();
-        message.setSentDate(DateTime.parse("2016-09-08T14:25:52.000Z").toDate());
+        message.setSentDate(Date.from(Instant.parse("2016-09-08T14:25:52.000Z")));
         FakeMail mail = FakeMail.from(message);
 
         String generateMessage = new NotifyMailetsMessage().generateMessage("my message", mail);


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[09/24] james-project git commit: JAMES-2493 remove redundant declaration of mime4j version

Posted by bt...@apache.org.
JAMES-2493 remove redundant declaration of mime4j version


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/28875408
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/28875408
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/28875408

Branch: refs/heads/master
Commit: 288754087e81c08f96b9d5937a492858657d756d
Parents: 9389a2c
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:01:35 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 server/protocols/jmap/pom.xml | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/28875408/server/protocols/jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml
index 444571e..8c948ed 100644
--- a/server/protocols/jmap/pom.xml
+++ b/server/protocols/jmap/pom.xml
@@ -78,7 +78,6 @@
         <dependency>
             <groupId>${james.groupId}</groupId>
             <artifactId>apache-mime4j-core</artifactId>
-            <version>${apache-mime4j.version}</version>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[21/24] james-project git commit: JAMES-2493 replace slf4j-simple with logback

Posted by bt...@apache.org.
JAMES-2493 replace slf4j-simple with logback


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6e1bbee8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6e1bbee8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6e1bbee8

Branch: refs/heads/master
Commit: 6e1bbee81c88c2439f0c1633a082ca162997468e
Parents: 0e7b9cf
Author: Matthieu Baechler <ma...@apache.org>
Authored: Thu Jul 26 14:48:18 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 backends-common/elasticsearch/pom.xml               | 10 +++++-----
 mailbox/api/pom.xml                                 | 10 +++++-----
 mailbox/caching/pom.xml                             | 10 +++++-----
 mailbox/hbase/pom.xml                               | 10 +++++-----
 mailbox/jcr/pom.xml                                 | 10 +++++-----
 mailbox/jpa/pom.xml                                 | 10 +++++-----
 mailbox/maildir/pom.xml                             | 10 +++++-----
 mailbox/memory/pom.xml                              | 10 +++++-----
 mailbox/spring/pom.xml                              | 10 +++++-----
 mailbox/store/pom.xml                               | 10 +++++-----
 mailbox/tool/pom.xml                                | 10 +++++-----
 mailbox/zoo-seq-provider/pom.xml                    |  9 +++++----
 mpt/impl/managesieve/core/pom.xml                   |  9 ++++-----
 mpt/impl/smtp/cassandra/pom.xml                     |  8 ++++----
 pom.xml                                             |  5 -----
 server/container/cli-integration/pom.xml            |  6 ------
 server/container/cli/pom.xml                        |  9 ++++-----
 server/container/guice/guice-common/pom.xml         | 10 +++++-----
 server/container/guice/mailet/pom.xml               | 10 +++++-----
 server/data/data-file/pom.xml                       | 10 +++++-----
 server/data/data-hbase/pom.xml                      | 10 +++++-----
 server/data/data-jcr/pom.xml                        | 10 +++++-----
 server/data/data-jdbc/pom.xml                       | 10 +++++-----
 server/data/data-jmap/pom.xml                       | 10 +++++-----
 server/data/data-jpa/pom.xml                        | 10 +++++-----
 server/data/data-ldap/pom.xml                       | 10 +++++-----
 server/data/data-library/pom.xml                    | 10 +++++-----
 server/data/data-memory/pom.xml                     | 10 +++++-----
 server/dns-service/dnsservice-dnsjava/pom.xml       | 10 +++++-----
 server/mailet/mailetcontainer-camel/pom.xml         | 10 +++++-----
 server/protocols/jmap/pom.xml                       | 16 +++++-----------
 server/protocols/webadmin-integration-test/pom.xml  | 10 +++++-----
 server/protocols/webadmin/webadmin-core/pom.xml     | 10 +++++-----
 server/protocols/webadmin/webadmin-data/pom.xml     | 10 +++++-----
 server/protocols/webadmin/webadmin-mailbox/pom.xml  | 10 +++++-----
 .../webadmin/webadmin-mailrepository/pom.xml        | 10 +++++-----
 server/queue/queue-activemq/pom.xml                 | 10 +++++-----
 server/queue/queue-file/pom.xml                     | 10 +++++-----
 server/queue/queue-jms/pom.xml                      | 10 +++++-----
 39 files changed, 182 insertions(+), 200 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/backends-common/elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/pom.xml b/backends-common/elasticsearch/pom.xml
index 73dad85..cd5a0bf 100644
--- a/backends-common/elasticsearch/pom.xml
+++ b/backends-common/elasticsearch/pom.xml
@@ -40,6 +40,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.fge</groupId>
             <artifactId>throwing-lambdas</artifactId>
         </dependency>
@@ -73,11 +78,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/api/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/api/pom.xml b/mailbox/api/pom.xml
index be9f011..d136e63 100644
--- a/mailbox/api/pom.xml
+++ b/mailbox/api/pom.xml
@@ -50,6 +50,11 @@
             <artifactId>apache-mime4j-dom</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.fge</groupId>
             <artifactId>throwing-lambdas</artifactId>
         </dependency>
@@ -117,11 +122,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/caching/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/caching/pom.xml b/mailbox/caching/pom.xml
index 68dfd62..a5ef352 100644
--- a/mailbox/caching/pom.xml
+++ b/mailbox/caching/pom.xml
@@ -41,6 +41,11 @@
             <artifactId>apache-james-mailbox-store</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -53,10 +58,5 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/hbase/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/hbase/pom.xml b/mailbox/hbase/pom.xml
index b8d13af..7c36b6c 100644
--- a/mailbox/hbase/pom.xml
+++ b/mailbox/hbase/pom.xml
@@ -47,6 +47,11 @@
             <artifactId>apache-james-mailbox-store</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>11.0.2</version><!--$NO-MVN-MAN-VER$-->
@@ -126,11 +131,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/jcr/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/jcr/pom.xml b/mailbox/jcr/pom.xml
index eb1a958..b20c342 100644
--- a/mailbox/jcr/pom.xml
+++ b/mailbox/jcr/pom.xml
@@ -53,6 +53,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -93,11 +98,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>xerces</groupId>
             <artifactId>xercesImpl</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml
index 2af1c9e..b9b0e64 100644
--- a/mailbox/jpa/pom.xml
+++ b/mailbox/jpa/pom.xml
@@ -68,6 +68,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -100,11 +105,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
     <build>
         <plugins>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/maildir/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/maildir/pom.xml b/mailbox/maildir/pom.xml
index 4961808..194d782 100644
--- a/mailbox/maildir/pom.xml
+++ b/mailbox/maildir/pom.xml
@@ -61,6 +61,11 @@
             <artifactId>apache-mime4j-dom</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -91,10 +96,5 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/memory/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/memory/pom.xml b/mailbox/memory/pom.xml
index f5b565e..99a3cd2 100644
--- a/mailbox/memory/pom.xml
+++ b/mailbox/memory/pom.xml
@@ -58,6 +58,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -90,11 +95,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/spring/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/spring/pom.xml b/mailbox/spring/pom.xml
index fd0533b..bd49ddf 100644
--- a/mailbox/spring/pom.xml
+++ b/mailbox/spring/pom.xml
@@ -76,6 +76,11 @@
             <artifactId>apache-james-mailbox-tool</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>commons-dbcp</groupId>
             <artifactId>commons-dbcp</artifactId>
             <exclusions>
@@ -158,11 +163,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-beans</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/store/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/store/pom.xml b/mailbox/store/pom.xml
index d4f4e48..8c45a55 100644
--- a/mailbox/store/pom.xml
+++ b/mailbox/store/pom.xml
@@ -76,6 +76,11 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
@@ -142,11 +147,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/tool/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tool/pom.xml b/mailbox/tool/pom.xml
index 3e4fdd2..240294d 100644
--- a/mailbox/tool/pom.xml
+++ b/mailbox/tool/pom.xml
@@ -67,6 +67,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>
@@ -88,10 +93,5 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mailbox/zoo-seq-provider/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/zoo-seq-provider/pom.xml b/mailbox/zoo-seq-provider/pom.xml
index 1f269ce..b49060e 100644
--- a/mailbox/zoo-seq-provider/pom.xml
+++ b/mailbox/zoo-seq-provider/pom.xml
@@ -46,6 +46,11 @@
             <artifactId>apache-james-mailbox-store</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>13.0</version><!--$NO-MVN-MAN-VER$-->
@@ -84,9 +89,5 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mpt/impl/managesieve/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/managesieve/core/pom.xml b/mpt/impl/managesieve/core/pom.xml
index 8455f10..9226687 100644
--- a/mpt/impl/managesieve/core/pom.xml
+++ b/mpt/impl/managesieve/core/pom.xml
@@ -38,7 +38,10 @@
             <groupId>${james.groupId}</groupId>
             <artifactId>james-server-data-api</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.google.inject</groupId>
             <artifactId>guice</artifactId>
@@ -56,10 +59,6 @@
             <artifactId>protocols-managesieve</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/mpt/impl/smtp/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/smtp/cassandra/pom.xml b/mpt/impl/smtp/cassandra/pom.xml
index 232117e..e38c657 100644
--- a/mpt/impl/smtp/cassandra/pom.xml
+++ b/mpt/impl/smtp/cassandra/pom.xml
@@ -74,6 +74,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -87,10 +91,6 @@
             <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-        </dependency>
     </dependencies>
     
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4d2712f..90f543c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2449,11 +2449,6 @@
                 <version>${slf4j.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-simple</artifactId>
-                <version>${slf4j.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-aop</artifactId>
                 <version>${spring.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/container/cli-integration/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/cli-integration/pom.xml b/server/container/cli-integration/pom.xml
index b295866..e37bbf0 100644
--- a/server/container/cli-integration/pom.xml
+++ b/server/container/cli-integration/pom.xml
@@ -35,12 +35,6 @@
             <groupId>${james.groupId}</groupId>
             <artifactId>james-server-cli</artifactId>
             <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>slf4j-simple</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/container/cli/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/cli/pom.xml b/server/container/cli/pom.xml
index 3bbe7f8..4018412 100644
--- a/server/container/cli/pom.xml
+++ b/server/container/cli/pom.xml
@@ -54,6 +54,10 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
+        <dependency>
             <groupId>commons-cli</groupId>
             <artifactId>commons-cli</artifactId>
         </dependency>
@@ -73,11 +77,6 @@
             <version>3.3.1</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>compile</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/container/guice/guice-common/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/pom.xml b/server/container/guice/guice-common/pom.xml
index a426fc7..74664c2 100644
--- a/server/container/guice/guice-common/pom.xml
+++ b/server/container/guice/guice-common/pom.xml
@@ -158,6 +158,11 @@
             <artifactId>metrics-logger</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.stefanbirkner</groupId>
             <artifactId>system-rules</artifactId>
             <version>1.18.0</version>
@@ -202,11 +207,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/container/guice/mailet/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/mailet/pom.xml b/server/container/guice/mailet/pom.xml
index cb9bb95..7a6e318 100644
--- a/server/container/guice/mailet/pom.xml
+++ b/server/container/guice/mailet/pom.xml
@@ -59,6 +59,11 @@
             <artifactId>james-server-mailetcontainer-camel</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.fge</groupId>
             <artifactId>throwing-lambdas</artifactId>
         </dependency>
@@ -84,11 +89,6 @@
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-file/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml
index 513a86a..16c3abd 100644
--- a/server/data/data-file/pom.xml
+++ b/server/data/data-file/pom.xml
@@ -91,6 +91,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -149,11 +154,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/pom.xml b/server/data/data-hbase/pom.xml
index ec2f300..fd9adca 100644
--- a/server/data/data-hbase/pom.xml
+++ b/server/data/data-hbase/pom.xml
@@ -66,6 +66,11 @@
             <artifactId>james-server-lifecycle-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>13.0</version><!--$NO-MVN-MAN-VER$-->
@@ -165,11 +170,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
     <build>
         <plugins>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-jcr/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/pom.xml b/server/data/data-jcr/pom.xml
index 809bea2..e22b68a 100644
--- a/server/data/data-jcr/pom.xml
+++ b/server/data/data-jcr/pom.xml
@@ -56,6 +56,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -106,11 +111,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/pom.xml b/server/data/data-jdbc/pom.xml
index b67af76..c9c7537 100644
--- a/server/data/data-jdbc/pom.xml
+++ b/server/data/data-jdbc/pom.xml
@@ -85,6 +85,11 @@
             <artifactId>james-server-util</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -157,11 +162,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jmap/pom.xml b/server/data/data-jmap/pom.xml
index fa9db60..d3583b8 100644
--- a/server/data/data-jmap/pom.xml
+++ b/server/data/data-jmap/pom.xml
@@ -42,6 +42,11 @@
             <artifactId>james-server-util-java8</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -77,11 +82,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 98f57b3..c623347 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -78,6 +78,11 @@
             <artifactId>james-server-lifecycle-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -138,11 +143,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-ldap/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/pom.xml b/server/data/data-ldap/pom.xml
index ea4cd7f..3ee22d9 100644
--- a/server/data/data-ldap/pom.xml
+++ b/server/data/data-ldap/pom.xml
@@ -46,6 +46,11 @@
             <artifactId>james-server-util</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.steveash.guavate</groupId>
             <artifactId>guavate</artifactId>
         </dependency>
@@ -83,11 +88,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-library/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-library/pom.xml b/server/data/data-library/pom.xml
index 06501ec..6c7cf0f 100644
--- a/server/data/data-library/pom.xml
+++ b/server/data/data-library/pom.xml
@@ -75,6 +75,11 @@
             <artifactId>james-server-lifecycle-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.steveash.guavate</groupId>
             <artifactId>guavate</artifactId>
         </dependency>
@@ -137,11 +142,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/data/data-memory/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-memory/pom.xml b/server/data/data-memory/pom.xml
index 25a158b..da4fe4f 100644
--- a/server/data/data-memory/pom.xml
+++ b/server/data/data-memory/pom.xml
@@ -71,6 +71,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>io.cucumber</groupId>
             <artifactId>cucumber-java</artifactId>
             <scope>test</scope>
@@ -105,11 +110,6 @@
             <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/dns-service/dnsservice-dnsjava/pom.xml
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-dnsjava/pom.xml b/server/dns-service/dnsservice-dnsjava/pom.xml
index 62bea4f..25a44a6 100644
--- a/server/dns-service/dnsservice-dnsjava/pom.xml
+++ b/server/dns-service/dnsservice-dnsjava/pom.xml
@@ -46,6 +46,11 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -83,11 +88,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/mailet/mailetcontainer-camel/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index 033debf..cfe4148 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -106,6 +106,11 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.steveash.guavate</groupId>
             <artifactId>guavate</artifactId>
         </dependency>
@@ -152,11 +157,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml
index 8c948ed..7a39157 100644
--- a/server/protocols/jmap/pom.xml
+++ b/server/protocols/jmap/pom.xml
@@ -65,12 +65,6 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-tika</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>apache-mailet-base</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
@@ -166,6 +160,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.github.dpaukov</groupId>
             <artifactId>combinatoricslib3</artifactId>
             <scope>test</scope>
@@ -295,11 +294,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.zalando</groupId>
             <artifactId>logbook-core</artifactId>
             <version>${zalando.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/webadmin-integration-test/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin-integration-test/pom.xml b/server/protocols/webadmin-integration-test/pom.xml
index fdcb4bd..7ea2a82 100644
--- a/server/protocols/webadmin-integration-test/pom.xml
+++ b/server/protocols/webadmin-integration-test/pom.xml
@@ -91,6 +91,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>io.rest-assured</groupId>
             <artifactId>rest-assured</artifactId>
             <scope>test</scope>
@@ -110,11 +115,6 @@
             <artifactId>java-hamcrest</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/webadmin/webadmin-core/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-core/pom.xml b/server/protocols/webadmin/webadmin-core/pom.xml
index b94ba11..2633e55 100644
--- a/server/protocols/webadmin/webadmin-core/pom.xml
+++ b/server/protocols/webadmin/webadmin-core/pom.xml
@@ -59,6 +59,11 @@
             <artifactId>james-server-task</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
@@ -134,11 +139,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/webadmin/webadmin-data/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/pom.xml b/server/protocols/webadmin/webadmin-data/pom.xml
index 2692a2c..f767608 100644
--- a/server/protocols/webadmin/webadmin-data/pom.xml
+++ b/server/protocols/webadmin/webadmin-data/pom.xml
@@ -75,6 +75,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.datatype</groupId>
             <artifactId>jackson-datatype-guava</artifactId>
         </dependency>
@@ -135,11 +140,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/webadmin/webadmin-mailbox/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/pom.xml b/server/protocols/webadmin/webadmin-mailbox/pom.xml
index d079d8d..0f366a9 100644
--- a/server/protocols/webadmin/webadmin-mailbox/pom.xml
+++ b/server/protocols/webadmin/webadmin-mailbox/pom.xml
@@ -121,6 +121,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
@@ -176,11 +181,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/protocols/webadmin/webadmin-mailrepository/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailrepository/pom.xml b/server/protocols/webadmin/webadmin-mailrepository/pom.xml
index 8aeb5a7..2e27115 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/pom.xml
+++ b/server/protocols/webadmin/webadmin-mailrepository/pom.xml
@@ -82,6 +82,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
@@ -122,11 +127,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/queue/queue-activemq/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/pom.xml b/server/queue/queue-activemq/pom.xml
index 2fa6884..c56c7b2 100644
--- a/server/queue/queue-activemq/pom.xml
+++ b/server/queue/queue-activemq/pom.xml
@@ -83,6 +83,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -144,11 +149,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/queue/queue-file/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/pom.xml b/server/queue/queue-file/pom.xml
index 8bde705..d407dc1 100644
--- a/server/queue/queue-file/pom.xml
+++ b/server/queue/queue-file/pom.xml
@@ -79,6 +79,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -100,11 +105,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/6e1bbee8/server/queue/queue-jms/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/pom.xml b/server/queue/queue-jms/pom.xml
index 92b9449..c4185c6 100644
--- a/server/queue/queue-jms/pom.xml
+++ b/server/queue/queue-jms/pom.xml
@@ -82,6 +82,11 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -145,11 +150,6 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.threeten</groupId>
             <artifactId>threeten-extra</artifactId>
         </dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[05/24] james-project git commit: JAMES-2501 Create a SpamAssassin backend project

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamd.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamd.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamd.java
new file mode 100644
index 0000000..d98b5a0
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamd.java
@@ -0,0 +1,101 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.spamassassin.mock;
+
+import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Preconditions;
+
+/**
+ * This class can be used to run a mocked SPAMD daemon
+ */
+public class MockSpamd implements Runnable {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MockSpamd.class);
+
+    /**
+     * Mailcontent which is 100% spam
+     */
+    public static final String GTUBE = "-SPAM-";
+    public static final String NOT_SPAM = "Spam: False ; 3 / 5";
+    public static final String SPAM = "Spam: True ; 1000 / 5";
+
+    private ServerSocket socket;
+    private boolean isBinded;
+
+    public MockSpamd() {
+        isBinded = false;
+    }
+
+    public int getPort() {
+        Preconditions.checkState(isBinded, "SpamD mock server is not binded");
+        return socket.getLocalPort();
+    }
+
+    public void bind() throws IOException {
+        socket = new ServerSocket(0);
+        isBinded = true;
+    }
+
+    @Override
+    public void run() {
+        try (ServerSocket serverSocket = socket;
+            Socket spamd = serverSocket.accept();
+             BufferedReader in = new BufferedReader(new InputStreamReader(spamd.getInputStream()));
+             OutputStream out = spamd.getOutputStream()) {
+
+            handleRequest(in, out);
+        } catch (IOException e) {
+            LOGGER.error("Exception while handling answer", e);
+        }
+    }
+
+    private void handleRequest(BufferedReader in, OutputStream out) throws IOException {
+        if (isSpam(in)) {
+            out.write(SPAM.getBytes());
+        } else {
+            out.write(NOT_SPAM.getBytes());
+        }
+        out.flush();
+    }
+
+    private boolean isSpam(BufferedReader in) throws IOException {
+        try {
+            return in.lines()
+                .anyMatch(line -> line.contains(GTUBE));
+        } finally {
+            consume(in);
+        }
+    }
+
+    private void consume(BufferedReader in) throws IOException {
+        IOUtils.copy(in, NULL_OUTPUT_STREAM, StandardCharsets.UTF_8);
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java
new file mode 100644
index 0000000..9712a42
--- /dev/null
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/mock/MockSpamdTestRule.java
@@ -0,0 +1,46 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.spamassassin.mock;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.junit.rules.ExternalResource;
+
+public class MockSpamdTestRule extends ExternalResource {
+
+    private ExecutorService executor = Executors.newSingleThreadExecutor();
+    private MockSpamd spamd = new MockSpamd();
+
+    @Override
+    protected void before() throws Throwable {
+        spamd.bind();
+        executor.execute(spamd);
+    }
+
+    public int getPort() {
+        return spamd.getPort();
+    }
+
+    @Override
+    protected void after() {
+        executor.shutdownNow();
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile b/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
new file mode 100644
index 0000000..ad1187a
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/Dockerfile
@@ -0,0 +1,43 @@
+FROM postgres:10.3
+
+ENV SPAMASSASSIN_VERSION 3.4.1
+
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
+        gpg \
+        libio-socket-ip-perl \
+        libmail-dkim-perl \
+        libnet-ident-perl \
+        libsocket-getaddrinfo-perl \
+        pyzor \
+        razor \
+        libdbi-perl \
+        libdbd-pg-perl \
+        spamassassin=${SPAMASSASSIN_VERSION}* && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
+
+RUN mkdir -p /etc/spamassassin/sa-update-keys && \
+    chmod 700 /etc/spamassassin/sa-update-keys && \
+    chown debian-spamd:debian-spamd /etc/spamassassin/sa-update-keys && \
+    mkdir -p /var/lib/spamassassin/.pyzor && \
+    chmod 700 /var/lib/spamassassin/.pyzor && \
+    echo "public.pyzor.org:24441" > /var/lib/spamassassin/.pyzor/servers && \
+    chmod 600 /var/lib/spamassassin/.pyzor/servers && \
+    chown -R debian-spamd:debian-spamd /var/lib/spamassassin/.pyzor
+
+RUN sed -i 's/^logfile = .*$/logfile = \/dev\/stderr/g' /etc/razor/razor-agent.conf
+
+COPY spamd.sh /
+COPY rule-update.sh /
+COPY run.sh /
+RUN chmod 755 /spamd.sh /rule-update.sh /run.sh
+
+COPY local.cf /etc/spamassassin/
+
+# Bayes database will be created automatically by Postres
+COPY bayes_pg.sql /docker-entrypoint-initdb.d/
+
+EXPOSE 783
+
+ENTRYPOINT ["/spamd.sh"]

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/bayes_pg.sql
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/bayes_pg.sql b/third-party/spamassassin/src/test/resources/docker/spamassassin/bayes_pg.sql
new file mode 100644
index 0000000..ef96472
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/bayes_pg.sql
@@ -0,0 +1,119 @@
+
+CREATE TABLE bayes_expire (
+  id integer NOT NULL default '0',
+  runtime integer NOT NULL default '0'
+) WITHOUT OIDS;
+
+CREATE INDEX bayes_expire_idx1 ON bayes_expire (id);
+
+CREATE TABLE bayes_global_vars (
+  variable varchar(30) NOT NULL default '',
+  value varchar(200) NOT NULL default '',
+  PRIMARY KEY  (variable)
+) WITHOUT OIDS;
+
+INSERT INTO bayes_global_vars VALUES ('VERSION','3');
+
+CREATE TABLE bayes_seen (
+  id integer NOT NULL default '0',
+  msgid varchar(200) NOT NULL default '',
+  flag character(1) NOT NULL default '',
+  PRIMARY KEY  (id,msgid)
+) WITHOUT OIDS;
+
+CREATE TABLE bayes_token (
+  id integer NOT NULL default '0',
+  token bytea NOT NULL default '',
+  spam_count integer NOT NULL default '0',
+  ham_count integer NOT NULL default '0',
+  atime integer NOT NULL default '0',
+  PRIMARY KEY  (id,token)
+) WITHOUT OIDS;
+
+CREATE INDEX bayes_token_idx1 ON bayes_token (token);
+
+ALTER TABLE bayes_token SET (fillfactor=95);
+
+CREATE TABLE bayes_vars (
+  id serial NOT NULL,
+  username varchar(200) NOT NULL default '',
+  spam_count integer NOT NULL default '0',
+  ham_count integer NOT NULL default '0',
+  token_count integer NOT NULL default '0',
+  last_expire integer NOT NULL default '0',
+  last_atime_delta integer NOT NULL default '0',
+  last_expire_reduce integer NOT NULL default '0',
+  oldest_token_age integer NOT NULL default '2147483647',
+  newest_token_age integer NOT NULL default '0',
+  PRIMARY KEY  (id)
+) WITHOUT OIDS;
+
+CREATE UNIQUE INDEX bayes_vars_idx1 ON bayes_vars (username);
+
+CREATE OR REPLACE FUNCTION greatest_int (integer, integer)
+ RETURNS INTEGER
+ IMMUTABLE STRICT
+ AS 'SELECT CASE WHEN $1 < $2 THEN $2 ELSE $1 END;'
+ LANGUAGE SQL;
+
+CREATE OR REPLACE FUNCTION least_int (integer, integer)
+ RETURNS INTEGER
+ IMMUTABLE STRICT
+ AS 'SELECT CASE WHEN $1 < $2 THEN $1 ELSE $2 END;'
+ LANGUAGE SQL;
+
+CREATE OR REPLACE FUNCTION put_tokens(INTEGER,
+                                      BYTEA[],
+                                      INTEGER,
+                                      INTEGER,
+                                      INTEGER)
+RETURNS VOID AS ' 
+DECLARE
+  inuserid      ALIAS FOR $1;
+  intokenary    ALIAS FOR $2;
+  inspam_count  ALIAS FOR $3;
+  inham_count   ALIAS FOR $4;
+  inatime       ALIAS FOR $5;
+  _token BYTEA;
+  new_tokens INTEGER := 0;
+BEGIN
+  for i in array_lower(intokenary, 1) .. array_upper(intokenary, 1)
+  LOOP
+    _token := intokenary[i];
+    UPDATE bayes_token
+       SET spam_count = greatest_int(spam_count + inspam_count, 0),
+           ham_count = greatest_int(ham_count + inham_count, 0),
+           atime = greatest_int(atime, inatime)
+     WHERE id = inuserid 
+       AND token = _token;
+    IF NOT FOUND THEN 
+      -- we do not insert negative counts, just return true
+      IF NOT (inspam_count < 0 OR inham_count < 0) THEN
+        INSERT INTO bayes_token (id, token, spam_count, ham_count, atime) 
+        VALUES (inuserid, _token, inspam_count, inham_count, inatime); 
+        IF FOUND THEN
+          new_tokens := new_tokens + 1;
+        END IF;
+      END IF;
+    END IF;
+  END LOOP;
+
+  IF new_tokens > 0 AND inatime > 0 THEN
+    UPDATE bayes_vars
+       SET token_count = token_count + new_tokens,
+           newest_token_age = greatest_int(newest_token_age, inatime),
+           oldest_token_age = least_int(oldest_token_age, inatime)
+     WHERE id = inuserid;
+  ELSIF new_tokens > 0 AND NOT inatime > 0 THEN
+    UPDATE bayes_vars
+       SET token_count = token_count + new_tokens
+     WHERE id = inuserid;
+  ELSIF NOT new_tokens > 0 AND inatime > 0 THEN
+    UPDATE bayes_vars
+       SET newest_token_age = greatest_int(newest_token_age, inatime),
+           oldest_token_age = least_int(oldest_token_age, inatime)
+     WHERE id = inuserid;
+  END IF;
+  RETURN;
+END; 
+' LANGUAGE 'plpgsql'; 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/local.cf
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/local.cf b/third-party/spamassassin/src/test/resources/docker/spamassassin/local.cf
new file mode 100644
index 0000000..6005e55
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/local.cf
@@ -0,0 +1,97 @@
+# This is the right place to customize your installation of SpamAssassin.
+#
+# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
+# tweaked.
+#
+# Only a small subset of options are listed below
+#
+###########################################################################
+
+#   Add *****SPAM***** to the Subject header of spam e-mails
+#
+# rewrite_header Subject *****SPAM*****
+
+
+#   Save spam messages as a message/rfc822 MIME attachment instead of
+#   modifying the original message (0: off, 2: use text/plain instead)
+#
+# report_safe 1
+
+
+#   Set which networks or hosts are considered 'trusted' by your mail
+#   server (i.e. not spammers)
+#
+# trusted_networks 212.17.35.
+
+
+#   Set file-locking method (flock is not safe over NFS, but is faster)
+#
+# lock_method flock
+
+
+#   Set the threshold at which a message is considered spam (default: 5.0)
+#
+# required_score 5.0
+
+
+#   Use Bayesian classifier (default: 1)
+#
+use_bayes 1
+
+
+#   Bayesian classifier auto-learning (default: 1)
+#
+#bayes_auto_learn 1
+
+bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
+
+bayes_sql_dsn DBI:Pg:dbname=postgres;host=localhost
+bayes_sql_username postgres
+
+bayes_min_spam_num 1
+bayes_min_ham_num 1
+
+
+#   Set headers which may provide inappropriate cues to the Bayesian
+#   classifier
+#
+# bayes_ignore_header X-Bogosity
+# bayes_ignore_header X-Spam-Flag
+# bayes_ignore_header X-Spam-Status
+
+
+#   Whether to decode non- UTF-8 and non-ASCII textual parts and recode
+#   them to UTF-8 before the text is given over to rules processing.
+#
+# normalize_charset 1
+
+#   Some shortcircuiting, if the plugin is enabled
+# 
+ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
+#
+#   default: strongly-whitelisted mails are *really* whitelisted now, if the
+#   shortcircuiting plugin is active, causing early exit to save CPU load.
+#   Uncomment to turn this on
+#
+# shortcircuit USER_IN_WHITELIST       on
+# shortcircuit USER_IN_DEF_WHITELIST   on
+# shortcircuit USER_IN_ALL_SPAM_TO     on
+# shortcircuit SUBJECT_IN_WHITELIST    on
+
+#   the opposite; blacklisted mails can also save CPU
+#
+# shortcircuit USER_IN_BLACKLIST       on
+# shortcircuit USER_IN_BLACKLIST_TO    on
+# shortcircuit SUBJECT_IN_BLACKLIST    on
+
+#   if you have taken the time to correctly specify your "trusted_networks",
+#   this is another good way to save CPU
+#
+# shortcircuit ALL_TRUSTED             on
+
+#   and a well-trained bayes DB can save running rules, too
+#
+# shortcircuit BAYES_99                spam
+# shortcircuit BAYES_00                ham
+
+endif # Mail::SpamAssassin::Plugin::Shortcircuit

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/rule-update.sh
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/rule-update.sh b/third-party/spamassassin/src/test/resources/docker/spamassassin/rule-update.sh
new file mode 100755
index 0000000..2867735
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/rule-update.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+while true; do
+    sleep 1m
+    su debian-spamd -c 'sa-update' && kill -HUP `cat /var/run/spamd.pid`
+    sleep 1d
+done

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/run.sh
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/run.sh b/third-party/spamassassin/src/test/resources/docker/spamassassin/run.sh
new file mode 100755
index 0000000..b4a1351
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/run.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+set -m
+
+/rule-update.sh &
+/spamd.sh &
+
+pids=`jobs -p`
+
+wait

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/docker/spamassassin/spamd.sh
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/docker/spamassassin/spamd.sh b/third-party/spamassassin/src/test/resources/docker/spamassassin/spamd.sh
new file mode 100755
index 0000000..2093cf8
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/docker/spamassassin/spamd.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+echo "Run Postgres"
+/usr/local/bin/docker-entrypoint.sh postgres &
+
+echo "Run spamd"
+spamd --username debian-spamd \
+      --nouser-config \
+      --syslog stderr \
+      --pidfile /var/run/spamd.pid \
+      --helper-home-dir /var/lib/spamassassin \
+      --ip-address \
+      --allowed-ips 0.0.0.0/0 \
+      --allow-tell \
+      --debug bayes,learn

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/eml/spam.eml
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/eml/spam.eml b/third-party/spamassassin/src/test/resources/eml/spam.eml
new file mode 100755
index 0000000..faf3402
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/eml/spam.eml
@@ -0,0 +1,152 @@
+Return-Path: <us...@james.org>
+Subject: Fwd: Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
+ (CET) (user@james.org)
+To: <us...@james.org>
+From: user <us...@james.org>
+Message-ID: <f1...@james.org>
+Date: Thu, 19 Jan 2017 20:36:37 +0100
+MIME-Version: 1.0
+In-Reply-To: <00...@google.com>
+Content-Type: multipart/mixed;
+ boundary="------------17D96D411CBD55D8239A8C1F"
+
+This is a multi-part message in MIME format.
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: multipart/alternative;
+ boundary="------------64D716A3DDAEC185D3E67448"
+
+
+--------------64D716A3DDAEC185D3E67448
+Content-Type: text/plain; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 8bit
+
+
+
+
+-------- Message transéré --------
+Sujet : 	Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
+(CET) (user@james.org)
+Date : 	Thu, 19 Jan 2017 19:18:23 +0000
+De : 	<us...@james.org>
+Répondre à : 	user@james.org
+Pour : 	user@james.org
+
+
+
+
+--------------64D716A3DDAEC185D3E67448
+Content-Type: text/html; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+<html>
+  <head>
+
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+  </head>
+  <body bgcolor="#FFFFFF" text="#000000">
+    <p><br>
+    </p>
+    <div class="moz-forward-container"><br>
+      <br>
+      -------- Message transéré --------
+      <table class="moz-email-headers-table" border="0" cellpadding="0"
+        cellspacing="0">
+        <tbody>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Sujet :
+            </th>
+            <td>Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 -
+              15:00 (CET) (<a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a>)</td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Date : </th>
+            <td>Thu, 19 Jan 2017 19:18:23 +0000</td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">De : </th>
+            <td>User <a class="moz-txt-link-rfc2396E" href="mailto:user@james.org">&lt;user@james.org&gt;</a></td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Répondre
+              Ã Â : </th>
+            <td><a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a></td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Pour : </th>
+            <td><a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a></td>
+          </tr>
+        </tbody>
+      </table>
+      <br>
+      <br>
+    </div>
+  </body>
+</html>
+
+--------------64D716A3DDAEC185D3E67448--
+
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: text/calendar;
+ name="Portion de message joint"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment;
+ filename="Portion de message joint"
+
+BEGIN:VCALENDAR
+PRODID:-//Google Inc//Google Calendar 70.9054//EN
+VERSION:2.0
+CALSCALE:GREGORIAN
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTART:20170120T130000Z
+DTEND:20170120T140000Z
+DTSTAMP:20170119T191823Z
+ORGANIZER;CN=User:mailto:user@james.org
+UID:ah86k5m342bmcrbe9khkkhln00@google.com
+ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
+ TRUE;CN=user@james.org;X-NUM-GUESTS=0:mailto:user@james.org
+ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE
+ ;CN=User;X-NUM-GUESTS=0:mailto:user@james.org
+CREATED:20170119T191823Z
+DESCRIPTION:Affichez votre evenement sur la page https://www.google.com/cal
+ endar/event?action=VIEW&eid=YWg4Nms1bTM0MmJtY3JiZTlraGtraGxuMDAgYWR1cHJhdEB
+ saW5hZ29yYS5jb20&tok=MTkjYW50ZHVwcmF0QGdtYWlsLmNvbTg1OTM5NWM4MGRlYmE1YTI4Nz
+ RjN2UyNjU0M2YyZmQ4NzRkNThhYTQ&ctz=Europe/Paris&hl=fr.
+LAST-MODIFIED:20170119T191823Z
+LOCATION:
+SEQUENCE:0
+STATUS:CONFIRMED
+SUMMARY:
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
+
+
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: application/ics;
+ name="invite.ics"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="invite.ics"
+
+QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vR29vZ2xlIEluYy8vR29vZ2xlIENhbGVuZGFy
+IDcwLjkwNTQvL0VODQpWRVJTSU9OOjIuMA0KQ0FMU0NBTEU6R1JFR09SSUFODQpNRVRIT0Q6
+UkVRVUVTVA0KQkVHSU46VkVWRU5UDQpEVFNUQVJUOjIwMTcwMTIwVDEzMDAwMFoNCkRURU5E
+OjIwMTcwMTIwVDE0MDAwMFoNCkRUU1RBTVA6MjAxNzAxMTlUMTkxODIzWg0KT1JHQU5JWkVS
+O0NOPUFudG9pbmUgRHVwcmF0Om1haWx0bzphbnRkdXByYXRAZ21haWwuY29tDQpVSUQ6YWg4
+Nms1bTM0MmJtY3JiZTlraGtraGxuMDBAZ29vZ2xlLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlO
+RElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT
+VlA9DQogVFJVRTtDTj1hZHVwcmF0QGxpbmFnb3JhLmNvbTtYLU5VTS1HVUVTVFM9MDptYWls
+dG86YWR1cHJhdEBsaW5hZ29yYS5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
+TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPUFDQ0VQVEVEO1JTVlA9VFJVRQ0KIDtDTj1B
+bnRvaW5lIER1cHJhdDtYLU5VTS1HVUVTVFM9MDptYWlsdG86YW50ZHVwcmF0QGdtYWlsLmNv
+bQ0KQ1JFQVRFRDoyMDE3MDExOVQxOTE4MjNaDQpERVNDUklQVElPTjpBZmZpY2hleiB2b3Ry
+ZSDDqXbDqW5lbWVudCBzdXIgbGEgcGFnZSBodHRwczovL3d3dy5nb29nbGUuY29tL2NhbA0K
+IGVuZGFyL2V2ZW50P2FjdGlvbj1WSUVXJmVpZD1ZV2c0Tm1zMWJUTTBNbUp0WTNKaVpUbHJh
+R3RyYUd4dU1EQWdZV1IxY0hKaGRFQg0KIHNhVzVoWjI5eVlTNWpiMjAmdG9rPU1Ua2pZVzUw
+WkhWd2NtRjBRR2R0WVdsc0xtTnZiVGcxT1RNNU5XTTRNR1JsWW1FMVlUSTROeg0KIFJqTjJV
+eU5qVTBNMll5Wm1RNE56UmtOVGhoWVRRJmN0ej1FdXJvcGUvUGFyaXMmaGw9ZnIuDQpMQVNU
+LU1PRElGSUVEOjIwMTcwMTE5VDE5MTgyM1oNCkxPQ0FUSU9OOg0KU0VRVUVOQ0U6MA0KU1RB
+VFVTOkNPTkZJUk1FRA0KU1VNTUFSWToNClRSQU5TUDpPUEFRVUUNCkVORDpWRVZFTlQNCkVO
+RDpWQ0FMRU5EQVINCg==
+--------------17D96D411CBD55D8239A8C1F--

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham1
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham1 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham1
new file mode 100644
index 0000000..c50bb11
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham1
@@ -0,0 +1,113 @@
+From exmh-workers-admin@redhat.com  Thu Aug 22 12:36:23 2002
+Return-Path: <ex...@spamassassin.taint.org>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id D03E543C36
+	for <zz...@localhost>; Thu, 22 Aug 2002 07:36:16 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 12:36:16 +0100 (IST)
+Received: from listman.spamassassin.taint.org (listman.spamassassin.taint.org [66.187.233.211]) by
+    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g7MBYrZ04811 for
+    <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 12:34:53 +0100
+Received: from listman.spamassassin.taint.org (localhost.localdomain [127.0.0.1]) by
+    listman.redhat.com (Postfix) with ESMTP id 8386540858; Thu, 22 Aug 2002
+    07:35:02 -0400 (EDT)
+Delivered-To: exmh-workers@listman.spamassassin.taint.org
+Received: from int-mx1.corp.spamassassin.taint.org (int-mx1.corp.spamassassin.taint.org
+    [172.16.52.254]) by listman.redhat.com (Postfix) with ESMTP id 10CF8406D7
+    for <ex...@listman.redhat.com>; Thu, 22 Aug 2002 07:34:10 -0400
+    (EDT)
+Received: (from mail@localhost) by int-mx1.corp.spamassassin.taint.org (8.11.6/8.11.6)
+    id g7MBY7g11259 for exmh-workers@listman.redhat.com; Thu, 22 Aug 2002
+    07:34:07 -0400
+Received: from mx1.spamassassin.taint.org (mx1.spamassassin.taint.org [172.16.48.31]) by
+    int-mx1.corp.redhat.com (8.11.6/8.11.6) with SMTP id g7MBY7Y11255 for
+    <ex...@redhat.com>; Thu, 22 Aug 2002 07:34:07 -0400
+Received: from ratree.psu.ac.th ([202.28.97.6]) by mx1.spamassassin.taint.org
+    (8.11.6/8.11.6) with SMTP id g7MBIhl25223 for <ex...@redhat.com>;
+    Thu, 22 Aug 2002 07:18:55 -0400
+Received: from delta.cs.mu.OZ.AU (delta.coe.psu.ac.th [172.30.0.98]) by
+    ratree.psu.ac.th (8.11.6/8.11.6) with ESMTP id g7MBWel29762;
+    Thu, 22 Aug 2002 18:32:40 +0700 (ICT)
+Received: from munnari.OZ.AU (localhost [127.0.0.1]) by delta.cs.mu.OZ.AU
+    (8.11.6/8.11.6) with ESMTP id g7MBQPW13260; Thu, 22 Aug 2002 18:26:25
+    +0700 (ICT)
+From: Robert Elz <kr...@munnari.OZ.AU>
+To: Chris Garrigues <cw...@DeepEddy.Com>
+Cc: exmh-workers@spamassassin.taint.org
+Subject: Re: New Sequences Window
+In-Reply-To: <10...@deepeddy.vircio.com>
+References: <10...@deepeddy.vircio.com>
+    <10...@deepeddy.vircio.com> <96...@munnari.OZ.AU>
+    <10...@deepeddy.vircio.com>
+    <10...@deepeddy.vircio.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Message-Id: <13...@munnari.OZ.AU>
+X-Loop: exmh-workers@spamassassin.taint.org
+Sender: exmh-workers-admin@spamassassin.taint.org
+Errors-To: exmh-workers-admin@spamassassin.taint.org
+X-Beenthere: exmh-workers@spamassassin.taint.org
+X-Mailman-Version: 2.0.1
+Precedence: bulk
+List-Help: <mailto:exmh-workers-request@spamassassin.taint.org?subject=help>
+List-Post: <ma...@spamassassin.taint.org>
+List-Subscribe: <https://listman.spamassassin.taint.org/mailman/listinfo/exmh-workers>,
+    <mailto:exmh-workers-request@redhat.com?subject=subscribe>
+List-Id: Discussion list for EXMH developers <exmh-workers.spamassassin.taint.org>
+List-Unsubscribe: <https://listman.spamassassin.taint.org/mailman/listinfo/exmh-workers>,
+    <mailto:exmh-workers-request@redhat.com?subject=unsubscribe>
+List-Archive: <https://listman.spamassassin.taint.org/mailman/private/exmh-workers/>
+Date: Thu, 22 Aug 2002 18:26:25 +0700
+
+    Date:        Wed, 21 Aug 2002 10:54:46 -0500
+    From:        Chris Garrigues <cw...@DeepEddy.Com>
+    Message-ID:  <10...@deepeddy.vircio.com>
+
+
+  | I can't reproduce this error.
+
+For me it is very repeatable... (like every time, without fail).
+
+This is the debug log of the pick happening ...
+
+18:19:03 Pick_It {exec pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace} {4852-4852 -sequence mercury}
+18:19:03 exec pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace 4852-4852 -sequence mercury
+18:19:04 Ftoc_PickMsgs {{1 hit}}
+18:19:04 Marking 1 hits
+18:19:04 tkerror: syntax error in expression "int ...
+
+Note, if I run the pick command by hand ...
+
+delta$ pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace  4852-4852 -sequence mercury
+1 hit
+
+That's where the "1 hit" comes from (obviously).  The version of nmh I'm
+using is ...
+
+delta$ pick -version
+pick -- nmh-1.0.4 [compiled on fuchsia.cs.mu.OZ.AU at Sun Mar 17 14:55:56 ICT 2002]
+
+And the relevant part of my .mh_profile ...
+
+delta$ mhparam pick
+-seq sel -list
+
+
+Since the pick command works, the sequence (actually, both of them, the
+one that's explicit on the command line, from the search popup, and the
+one that comes from .mh_profile) do get created.
+
+kre
+
+ps: this is still using the version of the code form a day ago, I haven't
+been able to reach the cvs repository today (local routing issue I think).
+
+
+
+_______________________________________________
+Exmh-workers mailing list
+Exmh-workers@redhat.com
+https://listman.redhat.com/mailman/listinfo/exmh-workers
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham2
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham2 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham2
new file mode 100644
index 0000000..7a5b23a
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham2
@@ -0,0 +1,73 @@
+From Steve_Burt@cursor-system.com  Thu Aug 22 12:46:39 2002
+Return-Path: <St...@cursor-system.com>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id BE12E43C34
+	for <zz...@localhost>; Thu, 22 Aug 2002 07:46:38 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 12:46:38 +0100 (IST)
+Received: from n20.grp.scd.yahoo.com (n20.grp.scd.yahoo.com
+    [66.218.66.76]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7MBkTZ05087 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 12:46:29 +0100
+X-Egroups-Return: sentto-2242572-52726-1030016790-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.67.196] by n20.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 11:46:30 -0000
+X-Sender: steve.burt@cursor-system.com
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 11:46:29 -0000
+Received: (qmail 11764 invoked from network); 22 Aug 2002 11:46:29 -0000
+Received: from unknown (66.218.66.217) by m3.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 11:46:29 -0000
+Received: from unknown (HELO mailgateway.cursor-system.com) (62.189.7.27)
+    by mta2.grp.scd.yahoo.com with SMTP; 22 Aug 2002 11:46:29 -0000
+Received: from exchange1.cps.local (unverified) by
+    mailgateway.cursor-system.com (Content Technologies SMTPRS 4.2.10) with
+    ESMTP id <T5...@mailgateway.cursor-system.com> for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 13:14:10 +0100
+Received: by exchange1.cps.local with Internet Mail Service (5.5.2653.19)
+    id <PXX6AT23>; Thu, 22 Aug 2002 12:46:27 +0100
+Message-Id: <5E...@exchange1.cps.local>
+To: "'zzzzteana@yahoogroups.com'" <zz...@yahoogroups.com>
+X-Mailer: Internet Mail Service (5.5.2653.19)
+X-Egroups-From: Steve Burt <st...@cursor-system.com>
+From: Steve Burt <St...@cursor-system.com>
+X-Yahoo-Profile: pyruse
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 12:46:18 +0100
+Subject: [zzzzteana] RE: Alexander
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+
+Martin A posted:
+Tassos Papadopoulos, the Greek sculptor behind the plan, judged that the
+ limestone of Mount Kerdylio, 70 miles east of Salonika and not far from the
+ Mount Athos monastic community, was ideal for the patriotic sculpture. 
+ 
+ As well as Alexander's granite features, 240 ft high and 170 ft wide, a
+ museum, a restored amphitheatre and car park for admiring crowds are
+planned
+---------------------
+So is this mountain limestone or granite?
+If it's limestone, it'll weather pretty fast.
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham3
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham3 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham3
new file mode 100644
index 0000000..c7cfbc8
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham3
@@ -0,0 +1,82 @@
+From timc@2ubh.com  Thu Aug 22 13:52:59 2002
+Return-Path: <ti...@2ubh.com>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 0314547C66
+	for <zz...@localhost>; Thu, 22 Aug 2002 08:52:58 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 13:52:59 +0100 (IST)
+Received: from n16.grp.scd.yahoo.com (n16.grp.scd.yahoo.com
+    [66.218.66.71]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7MCrdZ07070 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 13:53:39 +0100
+X-Egroups-Return: sentto-2242572-52733-1030020820-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.67.198] by n16.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 12:53:40 -0000
+X-Sender: timc@2ubh.com
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 12:53:39 -0000
+Received: (qmail 76099 invoked from network); 22 Aug 2002 12:53:39 -0000
+Received: from unknown (66.218.66.218) by m5.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 12:53:39 -0000
+Received: from unknown (HELO rhenium.btinternet.com) (194.73.73.93) by
+    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 12:53:39 -0000
+Received: from host217-36-23-185.in-addr.btopenworld.com ([217.36.23.185])
+    by rhenium.btinternet.com with esmtp (Exim 3.22 #8) id 17hrT0-0004gj-00
+    for forteana@yahoogroups.com; Thu, 22 Aug 2002 13:53:38 +0100
+X-Mailer: Microsoft Outlook Express Macintosh Edition - 4.5 (0410)
+To: zzzzteana <zz...@yahoogroups.com>
+X-Priority: 3
+Message-Id: <E1...@rhenium.btinternet.com>
+From: "Tim Chapman" <ti...@2ubh.com>
+X-Yahoo-Profile: tim2ubh
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 13:52:38 +0100
+Subject: [zzzzteana] Moscow bomber
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+
+Man Threatens Explosion In Moscow 
+
+Thursday August 22, 2002 1:40 PM
+MOSCOW (AP) - Security officers on Thursday seized an unidentified man who
+said he was armed with explosives and threatened to blow up his truck in
+front of Russia's Federal Security Services headquarters in Moscow, NTV
+television reported.
+The officers seized an automatic rifle the man was carrying, then the man
+got out of the truck and was taken into custody, NTV said. No other details
+were immediately available.
+The man had demanded talks with high government officials, the Interfax and
+ITAR-Tass news agencies said. Ekho Moskvy radio reported that he wanted to
+talk with Russian President Vladimir Putin.
+Police and security forces rushed to the Security Service building, within
+blocks of the Kremlin, Red Square and the Bolshoi Ballet, and surrounded the
+man, who claimed to have one and a half tons of explosives, the news
+agencies said. Negotiations continued for about one and a half hours outside
+the building, ITAR-Tass and Interfax reported, citing witnesses.
+The man later drove away from the building, under police escort, and drove
+to a street near Moscow's Olympic Penta Hotel, where authorities held
+further negotiations with him, the Moscow police press service said. The
+move appeared to be an attempt by security services to get him to a more
+secure location. 
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham4
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham4 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham4
new file mode 100644
index 0000000..9a726c2
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham4
@@ -0,0 +1,78 @@
+From irregulars-admin@tb.tf  Thu Aug 22 14:23:39 2002
+Return-Path: <ir...@tb.tf>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 9DAE147C66
+	for <zz...@localhost>; Thu, 22 Aug 2002 09:23:38 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:23:38 +0100 (IST)
+Received: from web.tb.tf (route-64-131-126-36.telocity.com
+    [64.131.126.36]) by dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id
+    g7MDGOZ07922 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:16:24 +0100
+Received: from web.tb.tf (localhost.localdomain [127.0.0.1]) by web.tb.tf
+    (8.11.6/8.11.6) with ESMTP id g7MDP9I16418; Thu, 22 Aug 2002 09:25:09
+    -0400
+Received: from red.harvee.home (red [192.168.25.1] (may be forged)) by
+    web.tb.tf (8.11.6/8.11.6) with ESMTP id g7MDO4I16408 for
+    <ir...@tb.tf>; Thu, 22 Aug 2002 09:24:04 -0400
+Received: from prserv.net (out4.prserv.net [32.97.166.34]) by
+    red.harvee.home (8.11.6/8.11.6) with ESMTP id g7MDFBD29237 for
+    <ir...@tb.tf>; Thu, 22 Aug 2002 09:15:12 -0400
+Received: from [209.202.248.109]
+    (slip-32-103-249-10.ma.us.prserv.net[32.103.249.10]) by prserv.net (out4)
+    with ESMTP id <2002082213150220405qu8jce>; Thu, 22 Aug 2002 13:15:07 +0000
+MIME-Version: 1.0
+X-Sender: @ (Unverified)
+Message-Id: <p04330137b98a941c58a8@[209.202.248.109]>
+To: undisclosed-recipient: ;
+From: Monty Solomon <mo...@roscom.com>
+Content-Type: text/plain; charset="us-ascii"
+Subject: [IRR] Klez: The Virus That  Won't Die
+Sender: irregulars-admin@tb.tf
+Errors-To: irregulars-admin@tb.tf
+X-Beenthere: irregulars@tb.tf
+X-Mailman-Version: 2.0.6
+Precedence: bulk
+List-Help: <mailto:irregulars-request@tb.tf?subject=help>
+List-Post: <ma...@tb.tf>
+List-Subscribe: <http://tb.tf/mailman/listinfo/irregulars>,
+    <mailto:irregulars-request@tb.tf?subject=subscribe>
+List-Id: New home of the TBTF Irregulars mailing list <irregulars.tb.tf>
+List-Unsubscribe: <http://tb.tf/mailman/listinfo/irregulars>,
+    <mailto:irregulars-request@tb.tf?subject=unsubscribe>
+List-Archive: <http://tb.tf/mailman/private/irregulars/>
+Date: Thu, 22 Aug 2002 09:15:25 -0400
+
+Klez: The Virus That Won't Die
+ 
+Already the most prolific virus ever, Klez continues to wreak havoc.
+
+Andrew Brandt
+>>From the September 2002 issue of PC World magazine
+Posted Thursday, August 01, 2002
+
+
+The Klez worm is approaching its seventh month of wriggling across 
+the Web, making it one of the most persistent viruses ever. And 
+experts warn that it may be a harbinger of new viruses that use a 
+combination of pernicious approaches to go from PC to PC.
+
+Antivirus software makers Symantec and McAfee both report more than 
+2000 new infections daily, with no sign of letup at press time. The 
+British security firm MessageLabs estimates that 1 in every 300 
+e-mail messages holds a variation of the Klez virus, and says that 
+Klez has already surpassed last summer's SirCam as the most prolific 
+virus ever.
+
+And some newer Klez variants aren't merely nuisances--they can carry 
+other viruses in them that corrupt your data.
+
+...
+
+http://www.pcworld.com/news/article/0,aid,103259,00.asp
+_______________________________________________
+Irregulars mailing list
+Irregulars@tb.tf
+http://tb.tf/mailman/listinfo/irregulars
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham5
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham5 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham5
new file mode 100644
index 0000000..57b6801
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham5
@@ -0,0 +1,77 @@
+From Stewart.Smith@ee.ed.ac.uk  Thu Aug 22 14:44:26 2002
+Return-Path: <St...@ee.ed.ac.uk>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id EC69D47C66
+	for <zz...@localhost>; Thu, 22 Aug 2002 09:44:25 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:44:25 +0100 (IST)
+Received: from n6.grp.scd.yahoo.com (n6.grp.scd.yahoo.com [66.218.66.90])
+    by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id g7MDcOZ08504 for
+    <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:38:25 +0100
+X-Egroups-Return: sentto-2242572-52736-1030023506-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.67.192] by n6.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 13:38:26 -0000
+X-Sender: Stewart.Smith@ee.ed.ac.uk
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:38:25 -0000
+Received: (qmail 48882 invoked from network); 22 Aug 2002 13:38:25 -0000
+Received: from unknown (66.218.66.218) by m10.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 13:38:25 -0000
+Received: from unknown (HELO postbox.ee.ed.ac.uk) (129.215.80.253) by
+    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:38:24 -0000
+Received: from ee.ed.ac.uk (sxs@dunblane [129.215.34.86]) by
+    postbox.ee.ed.ac.uk (8.11.0/8.11.0) with ESMTP id g7MDcNi28645 for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:38:23 +0100 (BST)
+Message-Id: <3D...@ee.ed.ac.uk>
+Organization: Scottish Microelectronics Centre
+User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.1b) Gecko/20020628
+X-Accept-Language: en, en-us
+To: zzzzteana@yahoogroups.com
+References: <3D...@localhost>
+From: Stewart Smith <St...@ee.ed.ac.uk>
+X-Yahoo-Profile: stochasticus
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 14:38:22 +0100
+Subject: Re: [zzzzteana] Nothing like mama used to make
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+
+>  in adding cream to spaghetti carbonara, which has the same effect on pasta as
+>  making a pizza a deep-pie; 
+
+I just had to jump in here as Carbonara is one of my favourites to make and ask 
+what the hell are you supposed to use instead of cream?  I've never seen a 
+recipe that hasn't used this.  Personally I use low fat creme fraiche because it 
+works quite nicely but the only time I've seen an supposedly authentic recipe 
+for carbonara  it was identical to mine (cream, eggs and lots of fresh parmesan) 
+except for the creme fraiche.
+
+Stew
+-- 
+Stewart Smith
+Scottish Microelectronics Centre, University of Edinburgh.
+http://www.ee.ed.ac.uk/~sxs/
+
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham6
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham6 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham6
new file mode 100644
index 0000000..f3231fe
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham6
@@ -0,0 +1,74 @@
+From martin@srv0.ems.ed.ac.uk  Thu Aug 22 14:54:39 2002
+Return-Path: <ma...@srv0.ems.ed.ac.uk>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 16FC743F99
+	for <zz...@localhost>; Thu, 22 Aug 2002 09:54:38 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:54:39 +0100 (IST)
+Received: from n14.grp.scd.yahoo.com (n14.grp.scd.yahoo.com
+    [66.218.66.69]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7MDoxZ08960 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:50:59 +0100
+X-Egroups-Return: sentto-2242572-52737-1030024261-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.66.95] by n14.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 13:51:01 -0000
+X-Sender: martin@srv0.ems.ed.ac.uk
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:51:00 -0000
+Received: (qmail 71894 invoked from network); 22 Aug 2002 13:51:00 -0000
+Received: from unknown (66.218.66.218) by m7.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 13:51:00 -0000
+Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
+    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:51:00 -0000
+Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
+    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7MDow310334 for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:50:59 +0100 (BST)
+Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
+    22 Aug 02 14:50:58 +0000
+Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 14:50:31 +0000
+Organization: Management School
+To: zzzzteana@yahoogroups.com
+Message-Id: <3D...@localhost>
+Priority: normal
+In-Reply-To: <3D...@ee.ed.ac.uk>
+X-Mailer: Pegasus Mail for Windows (v4.01)
+Content-Description: Mail message body
+From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 14:50:31 +0100
+Subject: Re: [zzzzteana] Nothing like mama used to make
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+
+
+> I just had to jump in here as Carbonara is one of my favourites to make and 
+> ask 
+> what the hell are you supposed to use instead of cream? 
+
+Isn't it just basically a mixture of beaten egg and bacon (or pancetta, 
+really)? You mix in the raw egg to the cooked pasta and the heat of the pasta 
+cooks the egg. That's my understanding.
+
+Martin
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham7
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham7 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham7
new file mode 100644
index 0000000..a65f9b4
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham7
@@ -0,0 +1,88 @@
+From martin@srv0.ems.ed.ac.uk  Thu Aug 22 14:54:40 2002
+Return-Path: <ma...@srv0.ems.ed.ac.uk>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id E3D7B47C66
+	for <zz...@localhost>; Thu, 22 Aug 2002 09:54:39 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:54:40 +0100 (IST)
+Received: from n11.grp.scd.yahoo.com (n11.grp.scd.yahoo.com
+    [66.218.66.66]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7MDt8Z09193 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:55:10 +0100
+X-Egroups-Return: sentto-2242572-52738-1030024499-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.66.94] by n11.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 13:55:03 -0000
+X-Sender: martin@srv0.ems.ed.ac.uk
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:54:59 -0000
+Received: (qmail 43039 invoked from network); 22 Aug 2002 13:54:58 -0000
+Received: from unknown (66.218.66.216) by m1.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 13:54:58 -0000
+Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
+    mta1.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:54:58 -0000
+Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
+    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7MDsv311745 for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:54:57 +0100 (BST)
+Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
+    22 Aug 02 14:54:56 +0000
+Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 14:54:29 +0000
+Organization: Management School
+To: zzzzteana@yahoogroups.com
+Message-Id: <3D...@localhost>
+Priority: normal
+X-Mailer: Pegasus Mail for Windows (v4.01)
+Content-Description: Mail message body
+From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 14:54:25 +0100
+Subject: [zzzzteana] Playboy wants to go out with a bang
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+X-MIME-Autoconverted: from quoted-printable to 8bit by dogma.slashnull.org
+    id g7MDt8Z09193
+
+The Scotsman - 22 August 2002
+
+ Playboy wants to go out with a bang 
+ 
+ 
+ AN AGEING Berlin playboy has come up with an unusual offer to lure women into
+ his bed - by promising the last woman he sleeps with an inheritance of 250,000
+ (�160,000). 
+ 
+ Rolf Eden, 72, a Berlin disco owner famous for his countless sex partners,
+ said he could imagine no better way to die than in the arms of an attractive
+ young woman - preferably under 30. 
+ 
+ "I put it all in my last will and testament - the last woman who sleeps with
+ me gets all the money," Mr Eden told Bild newspaper. 
+ 
+ "I want to pass away in the most beautiful moment of my life. First a lot of
+ fun with a beautiful woman, then wild sex, a final orgasm - and it will all
+ end with a heart attack and then I�m gone." 
+ 
+ Mr Eden, who is selling his nightclub this year, said applications should be
+ sent in quickly because of his age. "It could end very soon," he said.
+
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham8
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham8 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham8
new file mode 100644
index 0000000..c245926
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham8
@@ -0,0 +1,85 @@
+From Stewart.Smith@ee.ed.ac.uk  Thu Aug 22 15:05:07 2002
+Return-Path: <St...@ee.ed.ac.uk>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id EF86747C67
+	for <zz...@localhost>; Thu, 22 Aug 2002 10:05:00 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 15:05:01 +0100 (IST)
+Received: from n34.grp.scd.yahoo.com (n34.grp.scd.yahoo.com
+    [66.218.66.102]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7ME1MZ09279 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 15:01:22 +0100
+X-Egroups-Return: sentto-2242572-52739-1030024883-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.67.195] by n34.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 14:01:23 -0000
+X-Sender: Stewart.Smith@ee.ed.ac.uk
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 14:01:23 -0000
+Received: (qmail 45116 invoked from network); 22 Aug 2002 14:01:22 -0000
+Received: from unknown (66.218.66.218) by m2.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 14:01:22 -0000
+Received: from unknown (HELO postbox.ee.ed.ac.uk) (129.215.80.253) by
+    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 14:01:22 -0000
+Received: from ee.ed.ac.uk (sxs@dunblane [129.215.34.86]) by
+    postbox.ee.ed.ac.uk (8.11.0/8.11.0) with ESMTP id g7ME1Li02942 for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 15:01:21 +0100 (BST)
+Message-Id: <3D...@ee.ed.ac.uk>
+Organization: Scottish Microelectronics Centre
+User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.1b) Gecko/20020628
+X-Accept-Language: en, en-us
+To: zzzzteana@yahoogroups.com
+References: <3D...@localhost>
+From: Stewart Smith <St...@ee.ed.ac.uk>
+X-Yahoo-Profile: stochasticus
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 15:01:20 +0100
+Subject: Re: [zzzzteana] Nothing like mama used to make
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+
+Martin Adamson wrote:
+> 
+> Isn't it just basically a mixture of beaten egg and bacon (or pancetta, 
+> really)? You mix in the raw egg to the cooked pasta and the heat of the pasta 
+> cooks the egg. That's my understanding.
+> 
+
+You're probably right, mine's just the same but with the cream added to the 
+eggs.  I guess I should try it without.  Actually looking on the internet for a 
+recipe I found this one from possibly one of the scariest people I've ever seen, 
+and he's a US Congressman:
+<http://www.virtualcities.com/ons/me/gov/megvjb1.htm>
+
+That's one of the worst non-smiles ever.
+
+Stew
+ps. Apologies if any of the list's Maine residents voted for this man, you won't 
+do it again once you've seen this pic.
+
+-- 
+Stewart Smith
+Scottish Microelectronics Centre, University of Edinburgh.
+http://www.ee.ed.ac.uk/~sxs/
+
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham9
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham9 b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham9
new file mode 100644
index 0000000..df071f6
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/ham/ham9
@@ -0,0 +1,176 @@
+From martin@srv0.ems.ed.ac.uk  Thu Aug 22 15:05:07 2002
+Return-Path: <ma...@srv0.ems.ed.ac.uk>
+Delivered-To: zzzz@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 7A0C347C68
+	for <zz...@localhost>; Thu, 22 Aug 2002 10:05:03 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 15:05:03 +0100 (IST)
+Received: from n34.grp.scd.yahoo.com (n34.grp.scd.yahoo.com
+    [66.218.66.102]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
+    g7ME1rZ09290 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 15:01:54 +0100
+X-Egroups-Return: sentto-2242572-52740-1030024915-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
+Received: from [66.218.67.194] by n34.grp.scd.yahoo.com with NNFMP;
+    22 Aug 2002 14:01:55 -0000
+X-Sender: martin@srv0.ems.ed.ac.uk
+X-Apparently-To: zzzzteana@yahoogroups.com
+Received: (EGP: mail-8_1_0_1); 22 Aug 2002 14:01:55 -0000
+Received: (qmail 59494 invoked from network); 22 Aug 2002 14:01:55 -0000
+Received: from unknown (66.218.66.218) by m12.grp.scd.yahoo.com with QMQP;
+    22 Aug 2002 14:01:55 -0000
+Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
+    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 14:01:54 -0000
+Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
+    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7ME1r313981 for
+    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 15:01:53 +0100 (BST)
+Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
+    22 Aug 02 15:01:52 +0000
+Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 15:01:34 +0000
+Organization: Management School
+To: zzzzteana@yahoogroups.com
+Message-Id: <3D...@localhost>
+Priority: normal
+X-Mailer: Pegasus Mail for Windows (v4.01)
+Content-Description: Mail message body
+From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
+MIME-Version: 1.0
+Mailing-List: list zzzzteana@yahoogroups.com; contact
+    forteana-owner@yahoogroups.com
+Delivered-To: mailing list zzzzteana@yahoogroups.com
+Precedence: bulk
+List-Unsubscribe: <ma...@yahoogroups.com>
+Date: Thu, 22 Aug 2002 15:01:33 +0100
+Subject: [zzzzteana] Meaningful sentences
+Reply-To: zzzzteana@yahoogroups.com
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+X-MIME-Autoconverted: from quoted-printable to 8bit by dogma.slashnull.org
+    id g7ME1rZ09290
+
+The Scotsman
+
+ Thu 22 Aug 2002 
+
+ Meaningful sentences 
+ 
+ Tracey Lawson 
+ 
+ 
+ If you ever wanted to look like "one of the most dangerous inmates in prison
+ history", as one judge described Charles Bronson, now�s your chance. Bronson -
+ the serial hostage taker, not the movie star - has written a health and
+ fitness guide in which he shares some of the secrets behind his legendary
+ muscle power. 
+ 
+ Solitary Fitness - a title which bears testament to the fact that Bronson, 48,
+ has spent 24 of his 28 prison years in solitary confinement - explains how he
+ has turned himself into a lean, mean, fitness machine while living 23 hours a
+ day in a space just 12 feet by eight feet, on a diet of scrubs grub and at
+ virtually no cost. 
+ 
+ The book is aimed at those who want to get fabulously fit without spending a
+ fortune on gym memberships, protein supplements or designer trainers, and
+ starts with a fierce attack on some of the expensive myths churned out by the
+ exercise industry. 
+ 
+ "I pick up a fitness mag, I start to laugh and I wipe my arse with it," is the
+ opening paragraph penned by Bronson. "It�s a joke and a big con and they call
+ me a criminal!" You can�t help feeling he has a point. 
+ 
+ This is not the first book that Bronson has written from behind bars, having
+ already published Birdman Opens His Mind, which features drawings and poems
+ created by Bronson while in prison. And he is not the first prisoner to
+ discover creative expression while residing at Her Majesty�s pleasure. 
+ 
+ Jimmy Boyle, the Scots sculptor and novelist, discovered his artistic talents
+ when he was sent to Barlinnie Prison�s famous special unit, which aimed to
+ help inmates put their violent pasts behind them by teaching them how to
+ express their emotions artistically. Boyle was sentenced to life for the
+ murder of "Babs" Rooney in 1967. Once released, he moved to Edinburgh where he
+ has become a respected artist. His first novel, Hero of the Underworld, was
+ published in 1999 and his autobiography, A Sense of Freedom, was made into an
+ award-winning film. 
+ 
+ Hugh Collins was jailed for life in 1977 for the murder of William Mooney in
+ Glasgow, and in his first year in Barlinnie prison stabbed three prison
+ officers, earning him an extra seven-year sentence. But, after being
+ transferred to the same unit that Boyle attended, he learned to sculpt and
+ developed an interest in art. He later published Autobiography of a Murderer,
+ a frank account of Glasgow�s criminal culture in the 1960s, which received
+ critical praise. 
+ 
+ And Lord Archer doesn�t seem to have had trouble continuing to write the books
+ that have made him millions while in jail. He recently signed a three-book
+ deal with Macmillan publishers worth a reported �10 million, and is no doubt
+ scribbling away as we speak. 
+ 
+ So why is it that men like Collins, Bronson and Boyle, who can be so
+ destructive towards society on the outside, can become so creative once stuck
+ on the inside? Steve Richards, Bronson�s publisher, has published many books
+ about criminal figures and believes the roots of this phenomenon are both
+ pragmatic and profound. 
+ 
+ He says: "Prison is sometimes the first time some criminals will ever have
+ known a stable environment, and this can be the first time they have the
+ chance to focus on their creative skills. 
+ 
+ "It may also be the first time that they have really had the chance of an
+ education, if their early years have been hard. It could be the first time
+ anyone has offered them the chance to explore their creative talents." 
+ 
+ However, Richards believes the reasons are also deeper than that. He says:
+ "Once they are behind bars, the cold light of day hits them, and they examine
+ the very essence of who they are. 
+ 
+ "They ask themselves, am I a man who wants to be remembered for violence? Or
+ am I a man who can contribute to society, who can be remembered for something
+ good?" 
+ 
+ Bronson - who was born Michael Gordon Peterson, but changed his name to that
+ of the Hollywood star of the Death Wish films - has, so far, been remembered
+ mainly for things bad. He was originally jailed for seven years for armed
+ robbery in 1974, and has had a series of sentences added to his original term
+ over the years as a result of attacking people in prison. In 2000 he was
+ jailed for life after being convicted of holding a teacher hostage for nearly
+ two days during a jail siege. 
+ 
+ Standing five feet ten and a half inches tall and weighing 210lbs, he is
+ renowned for his strength. He has bent metal cell doors with his bare hands
+ and does up to 3,000 - yes, 3,000 - press-ups a day. As he puts it: "I can hit
+ a man 20 times in four seconds, I can push 132 press ups in 60 seconds." 
+ 
+ But judging by our current obsession with health and exercise, Solitary
+ Fitness might be the book which will see Bronson�s face sitting on every
+ coffee table in the land. He might be the man to give us the dream body which
+ so many so-called fitness gurus promise but fail to motivate us into. Because
+ Bronson has learned to use words as powerfully as he can use his fists. 
+ 
+ "All this crap about high-protein drinks, pills, diets, it�s just a load of
+ bollocks and a multi-million-pound racket," he writes, in what can only be
+ described as a refreshingly honest style. "We can all be fat lazy bastards,
+ it�s our choice, I�m sick of hearing and reading about excuses, if you stuff
+ your face with shit you become shit, that�s logical to me." 
+ 
+ As motivational mantras go, that might be just the kick up the, er, backside
+ we all needed. 
+ 
+ 
+ Solitary Fitness by Charles Bronson is published by Mirage Publishing and will
+ be available in bookstores from October at �7.99
+
+
+------------------------ Yahoo! Groups Sponsor ---------------------~-->
+4 DVDs Free +s&p Join Now
+http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
+---------------------------------------------------------------------~->
+
+To unsubscribe from this group, send an email to:
+forteana-unsubscribe@egroups.com
+
+ 
+
+Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
+
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam1
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam1 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam1
new file mode 100644
index 0000000..8bad787
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam1
@@ -0,0 +1,108 @@
+From ilug-admin@linux.ie  Tue Aug  6 11:51:02 2002
+Return-Path: <il...@linux.ie>
+Delivered-To: yyyy@localhost.netnoteinc.com
+Received: from localhost (localhost [127.0.0.1])
+	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 9E1F5441DD
+	for <jm...@localhost>; Tue,  6 Aug 2002 06:48:09 -0400 (EDT)
+Received: from phobos [127.0.0.1]
+	by localhost with IMAP (fetchmail-5.9.0)
+	for jm@localhost (single-drop); Tue, 06 Aug 2002 11:48:09 +0100 (IST)
+Received: from lugh.tuatha.org (root@lugh.tuatha.org [194.125.145.45]) by
+    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g72LqWv13294 for
+    <jm...@jmason.org>; Fri, 2 Aug 2002 22:52:32 +0100
+Received: from lugh (root@localhost [127.0.0.1]) by lugh.tuatha.org
+    (8.9.3/8.9.3) with ESMTP id WAA31224; Fri, 2 Aug 2002 22:50:17 +0100
+Received: from bettyjagessar.com (w142.z064000057.nyc-ny.dsl.cnc.net
+    [64.0.57.142]) by lugh.tuatha.org (8.9.3/8.9.3) with ESMTP id WAA31201 for
+    <il...@linux.ie>; Fri, 2 Aug 2002 22:50:11 +0100
+X-Authentication-Warning: lugh.tuatha.org: Host w142.z064000057.nyc-ny.dsl.cnc.net
+    [64.0.57.142] claimed to be bettyjagessar.com
+Received: from 64.0.57.142 [202.63.165.34] by bettyjagessar.com
+    (SMTPD32-7.06 EVAL) id A42A7FC01F2; Fri, 02 Aug 2002 02:18:18 -0400
+Message-Id: <10...@0.57.142>
+Date: Fri, 02 Aug 2002 23:37:59 0530
+To: ilug@linux.ie
+From: "Start Now" <st...@hotmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="US-ASCII"; format=flowed
+Subject: [ILUG] STOP THE MLM INSANITY
+Sender: ilug-admin@linux.ie
+Errors-To: ilug-admin@linux.ie
+X-Mailman-Version: 1.1
+Precedence: bulk
+List-Id: Irish Linux Users' Group <ilug.linux.ie>
+X-Beenthere: ilug@linux.ie
+
+Greetings!
+
+You are receiving this letter because you have expressed an interest in 
+receiving information about online business opportunities. If this is 
+erroneous then please accept my most sincere apology. This is a one-time 
+mailing, so no removal is necessary.
+
+If you've been burned, betrayed, and back-stabbed by multi-level marketing, 
+MLM, then please read this letter. It could be the most important one that 
+has ever landed in your Inbox.
+
+MULTI-LEVEL MARKETING IS A HUGE MISTAKE FOR MOST PEOPLE
+
+MLM has failed to deliver on its promises for the past 50 years. The pursuit 
+of the "MLM Dream" has cost hundreds of thousands of people their friends, 
+their fortunes and their sacred honor. The fact is that MLM is fatally 
+flawed, meaning that it CANNOT work for most people.
+
+The companies and the few who earn the big money in MLM are NOT going to 
+tell you the real story. FINALLY, there is someone who has the courage to 
+cut through the hype and lies and tell the TRUTH about MLM.
+
+HERE'S GOOD NEWS
+
+There IS an alternative to MLM that WORKS, and works BIG! If you haven't yet 
+abandoned your dreams, then you need to see this. Earning the kind of income 
+you've dreamed about is easier than you think!
+
+With your permission, I'd like to send you a brief letter that will tell you 
+WHY MLM doesn't work for most people and will then introduce you to 
+something so new and refreshing that you'll wonder why you haven't heard of 
+this before.
+
+I promise that there will be NO unwanted follow up, NO sales pitch, no one 
+will call you, and your email address will only be used to send you the 
+information. Period.
+
+To receive this free, life-changing information, simply click Reply, type 
+"Send Info" in the Subject box and hit Send. I'll get the information to you 
+within 24 hours. Just look for the words MLM WALL OF SHAME in your Inbox.
+
+Cordially,
+
+Siddhi
+
+P.S. Someone recently sent the letter to me and it has been the most 
+eye-opening, financially beneficial information I have ever received. I 
+honestly believe that you will feel the same way once you've read it. And 
+it's FREE!
+
+
+------------------------------------------------------------
+This email is NEVER sent unsolicited.  THIS IS NOT "SPAM". You are receiving 
+this email because you EXPLICITLY signed yourself up to our list with our 
+online signup form or through use of our FFA Links Page and E-MailDOM 
+systems, which have EXPLICIT terms of use which state that through its use 
+you agree to receive our emailings.  You may also be a member of a Altra 
+Computer Systems list or one of many numerous FREE Marketing Services and as 
+such you agreed when you signed up for such list that you would also be 
+receiving this emailing.
+Due to the above, this email message cannot be considered unsolicitated, or 
+spam.
+-----------------------------------------------------------
+
+
+
+
+-- 
+Irish Linux Users' Group: ilug@linux.ie
+http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
+List maintainer: listmaster@linux.ie
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam2
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam2 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam2
new file mode 100644
index 0000000..88a809e
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam2
@@ -0,0 +1,186 @@
+From lmrn@mailexcite.com  Mon Jun 24 17:03:24 2002
+Return-Path: merchantsworld2001@juno.com
+Delivery-Date: Mon May 13 04:46:13 2002
+Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
+    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4D3kCe15097 for
+    <jm...@jmason.org>; Mon, 13 May 2002 04:46:12 +0100
+Received: from 203.129.205.5.205.129.203.in-addr.arpa ([203.129.205.5]) by
+    mandark.labs.netnoteinc.com (8.11.2/8.11.2) with SMTP id g4D3k2D12605 for
+    <jm...@netnoteinc.com>; Mon, 13 May 2002 04:46:04 +0100
+Received: from html (unverified [207.95.174.49]) by
+    203.129.205.5.205.129.203.in-addr.arpa (EMWAC SMTPRS 0.83) with SMTP id
+    <B0...@203.129.205.5.205.129.203.in-addr.arpa>; Mon, 13 May 2002
+    09:04:46 +0530
+Message-Id: <B0...@203.129.205.5.205.129.203.in-addr.arpa>
+From: lmrn@mailexcite.com
+To: ranmoore@cybertime.net
+Subject: Real Protection, Stun Guns!  Free Shipping! Time:2:01:35 PM
+Date: Mon, 28 Jul 1980 14:01:35
+MIME-Version: 1.0
+X-Keywords: 
+Content-Type: text/html; charset="DEFAULT"
+
+<html>
+<body>
+<center>
+<h3>
+<font color="blue">
+<b>
+The Need For Safety Is Real In 2002, You Might Only Get One Chance - Be Ready!
+<p>
+Free Shipping & Handling Within The (USA) If You Order Before May 25, 2002! 
+<p>
+3 Day Super Sale, Now Until May 7, 2002!  Save Up To $30.00 On Some Items!
+
+</b>
+</font>
+</h3>
+</center>
+<p>
+IT'S GETTING TO BE SPRING AGAIN, PROTECT YOURSELF AS YOU WALK,<br>
+JOG AND EXERCISE OUTSIDE.  ALSO PROTECT YOUR LOVED ONES AS<br>
+THEY RETURN HOME FROM COLLEGE!<br>
+<p>
+*     LEGAL PROTECTION FOR COLLEGE STUDENTS!<br>
+*     GREAT UP'COMING OUTDOOR PROTECTION GIFTS!<br>
+*     THERE IS NOTHING WORTH MORE PROTECTING THAN LIFE!<br>
+*     OUR STUN DEVICES & PEPPER PRODUCTS ARE LEGAL PROTECTION!
+<p>
+<b>
+<font color="red">
+JOIN THE WAR ON CRIME!
+</b>
+</font>
+<p>
+
+STUN GUNS AND BATONS 
+<p>
+EFFECTIVE - SAFE - NONLETHAL
+<p>
+PROTECT YOUR LOVED ONES AND YOURSELF
+<p>
+No matter who you are, no matter what City or Town you live in,<br>
+if you live in America, you will be touched by crime.
+<p>
+You hear about it on TV.  You read about it in the newspaper.<br>
+It's no secret that crime is a major problem in the U.S. today.<br>
+Criminals are finding it easier to commit crimes all the time.
+<p>
+Weapons are readily available.  Our cities' police forces have<br>
+more work than they can handle.  Even if these criminal are<br>
+caught, they won't be spending long in our nation's overcrowded<br>
+jails.  And while lawmakers are well aware of the crime problem,<br>
+they don't seem to have any effective answers.
+<p>
+Our Email Address:  <a
+href="mailto:Merchants4all@aol.com">Merchants4all@aol.com</a>
+<p>
+INTERESTED:
+<p>
+You will be protecting yourself within 7 days!  Don't Wait,<br>
+visit our web page below, and join The War On Crime!
+<p>
+*****************<br>
+<a
+href="http://www.geocities.com/realprotection_20022003/">http://www.geocities.com/realprotection_20022003/</a><br>
+*****************
+<p>
+Well, there is an effective answer.  Take responsibility for<br>
+your own security.  Our site has a variety of quality personal<br>
+security products.  Visit our site, choose the personal security<br>
+products that are right for you.  Use them, and join the war on
+crime!
+<p>
+FREE PEPPER SPRAY WITH ANY STUN UNIT PURCHASE.<br>
+(A Value of $15.95)
+<p>
+We Ship Orders Within 5 To 7 Days, To Every State In The U.S.A.<br>
+by UPS, FEDEX, or U.S. POSTAL SERVICE.  Visa, MasterCard, American<br>
+Express & Debt Card Gladly Accepted.
+<p>
+Ask yourself this question, if you don't help your loved ones,
+who will?
+<p>
+INTERESTED:
+<p>
+*****************<br>
+<a
+href="http://www.geocities.com/realprotection_20022003/">http://www.geocities.com/realprotection_20022003/</a><br>
+*****************
+<p>
+___The Stun Monster 625,000 Volts ($86.95)<br>
+___The Z-Force Slim Style 300,000 Volts ($64.95)<br>
+___The StunMaster 300,000 Volts Straight ($59.95)<br>
+___The StunMaster 300,000 Volts Curb ($59.95)<br>
+___The StunMaster 200,000 Volts Straight ($49.95)<br>
+___The StunMaster 200,000 Volts Curb ($49.95)<br>
+___The StunBaton 500,000 Volts ($89.95)<br>
+___The StunBaton 300,000 Volts ($79.95)<br>
+___Pen Knife (One $12.50, Two Or More $9.00)<br>
+___Wildfire Pepper Spray  (One $15.95, Two Or More $11.75)
+<p>
+___Add $5.75 For Shipping & Handling Charge.
+<p>
+
+To Order by postal mail, please send to the below address.<br>
+Make payable to Mega Safety Technology.
+<p>
+Mega Safety Technology<br>
+3215 Merrimac Ave.<br>
+Dayton, Ohio  45405<br>
+Our Email Address:  <a
+href="mailto:Merchants4all@aol.com">Merchants4all@aol.com</a>
+<p>
+Order by 24 Hour Fax!!!  775-257-6657.
+<p>
+*****<br>
+<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
+ <br><br>
+*     Credit Card Address, City, State and Zip Code, must match
+      billing address to be processed. 
+<br><br>
+
+CHECK____  MONEYORDER____  VISA____ MASTERCARD____ AmericanExpress___
+Debt Card___
+<br><br>
+Name_______________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+Address____________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+City,State,Zip(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+Country
+<br><br>
+___________________________________________________<br>
+(Credit Card Number)
+<br><br>
+Expiration Month_____  Year_____
+<br><br>
+___________________________________________________<br>
+Authorized Signature
+<br><br>
+<b>
+*****IMPORTANT NOTE*****
+</b>
+<br><br>
+If Shipping Address Is Different From The Billing Address Above,
+Please Fill Out Information Below.
+<br><br>
+Shipping Name______________________________________________
+<br><br>
+Shipping Address___________________________________________
+<br><br>
+___________________________________________________________<br>
+Shipping City,State,Zip
+<br><br>
+___________________________________________________________<br>
+Country
+<br><br>
+___________________________________________________________<br>
+Email Address & Phone Number(Please Write Neat)
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam3
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam3 b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam3
new file mode 100644
index 0000000..e828804
--- /dev/null
+++ b/third-party/spamassassin/src/test/resources/spamassassin_db/spam/spam3
@@ -0,0 +1,211 @@
+From amknight@mailexcite.com  Mon Jun 24 17:03:49 2002
+Return-Path: merchantsworld2001@juno.com
+Delivery-Date: Wed May 15 08:58:23 2002
+Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
+    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4F7wIe23864 for
+    <jm...@jmason.org>; Wed, 15 May 2002 08:58:18 +0100
+Received: from webcust2.hightowertech.com (webcust2.hightowertech.com
+    [216.41.166.100]) by mandark.labs.netnoteinc.com (8.11.2/8.11.2) with
+    ESMTP id g4F7wGD24120 for <jm...@netnoteinc.com>; Wed, 15 May 2002 08:58:17
+    +0100
+Received: from html ([206.216.197.214]) by webcust2.hightowertech.com with
+    Microsoft SMTPSVC(5.5.1877.197.19); Wed, 15 May 2002 00:55:53 -0700
+From: amknight@mailexcite.com
+To: cbmark@cbmark.com
+Subject: New Improved Fat Burners, Now With TV Fat Absorbers! Time:6:25:49 PM
+Date: Wed, 30 Jul 1980 18:25:49
+MIME-Version: 1.0
+Message-Id: <08...@webcust2.hightowertech.com>
+X-Keywords: 
+Content-Type: text/html; charset="DEFAULT"
+
+<html>
+<body>
+<center>
+<b>
+<font color="blue">
+*****Bonus Fat Absorbers As Seen On TV, Included Free With Purchase Of 2 Or More Bottle, $24.95 Value*****
+</font>
+<br>
+<br>
+***TAKE $10.00 OFF 2 & 3 MONTH SUPPLY ORDERS, $5.00 OFF 1 MONTH SUPPLY!
+***AND STILL GET YOUR BONUS!  PRICE WILL BE DEDUCTED DURING PROCESSING.
+<br>
+<br>
+***FAT ABSORBERS ARE GREAT FOR THOSE WHO WANT TO LOSE WEIGHT,  BUT CAN'T STAY ON A DIET***
+<br>
+<br>
+***OFFER GOOD UNTIL MAY 27, 2002!  FOREIGN ORDERS INCLUDED!
+<br>
+<br>
+
+<font color="blue">
+
+LOSE 30 POUNDS  IN 30 DAYS... GUARANTEED!!!
+<br>
+<br>
+
+All Natural Weight-Loss Program, Speeds Up The Metabolism Safely
+Rated #1 In Both Categories of SAFETY & EFFECTIVENESS In<br>
+(THE United States Today)
+<br><br>
+WE'LL HELP YOU GET THINNER!
+WE'RE GOING TO HELP YOU LOOK GOOD, FEEL GOOD AND TAKE CONTROL IN
+2002
+<br>
+<br>
+</b>
+</font color="blue">
+</center>
+
+Why Use Our Amazing Weight Loss Capsules?
+<br><br>
+*  They act like a natural magnet to attract fat.<br>
+*  Stimulates the body's natural metabolism. <br>
+*  Controls appetite naturally and makes it easier to
+   eat the right foods consistently.<br>
+*  Reduces craving for sweets.<br>
+*  Aids in the absorption of fat and in overall digestion.<br>
+*  Inhibits bad cholesterol and boosts good cholesterol.<br>
+*  Aids in the process of weight loss and long-term weight management.<br>
+*  Completely safe, UltraTrim New Century contains no banned
+   substances and has no known side effects.<br>
+<br>
+What Makes UltraTrim New Century Unique?
+<br><br>
+A scientifically designed combination of natural ingredients that
+provide long-term weight management in a safe and effective manner.
+<br><br>
+*****<br>
+Receive A Bonus Supply Of Ultra Trim New Century & A Bottle Of Fat Absorbers Listed Above, 
+With Every Order Of 2 Or More Bottles. Offer Good Until May. 27, 2002! <br>
+*****
+<br><br>
+WE GLADLY SHIP TO ALL FOREIGN COUNTRIES! 
+<br><br>
+You will be losing by tomorrow!  Don't Wait, visit our web
+page below, and order now!
+<br><br>
+Email Address:   <a
+href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
+<br><br>
+Order by 24 Hour Fax!!!  775-257-6657.<br>
+<br>
+*****************<br>
+<a
+href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
+*****************
+<br><br>
+This is the easiest, fastest, and most effective way to lose both
+pounds and inches permanently!!!  This weight loss program is
+designed specifically to "boost" weight-loss efforts by assisting
+body metabolism, and helping the body's ability to manage weight.
+A powerful, safe, 30 Day Program.  This is one program you won't
+feel starved on.  Complete program for one amazing low price!
+Program includes: <b>BONUS AMAZING FAT ABSORBER CAPSULES, 30 DAY -
+WEIGHT
+REDUCTION PLAN, PROGRESS REPORT!</b>
+<br><br>
+SPECIAL BONUS..."FAT ABSORBERS", AS SEEN ON TV
+With every order...AMAZING MELT AWAY FAT ABSORBER CAPSULES with
+directions ( Absolutely Free ) ...With these capsules
+you can eat what you enjoy, without the worry of fat in your diet.
+2 to 3 capsules 15 minutes before eating or snack, and the fat will be
+absorbed and passed through the body without the digestion of fat into
+the body. 
+<br><br>
+You will be losing by tomorrow!  Don't Wait, visit our web
+page below, and order now!
+<br><br>
+Email Address:  <a href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
+<br><br>
+
+Order by 24 Hour Fax!!!  775-257-6657.<br>
+<br>
+*****************<br>
+<a
+href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
+*****************
+<br><br>
+___1 Month Supply $32.95 plus $4.75 S & H, 100 Amazing MegaTrim
+     Capsules.
+<br><br>
+___2 Month Supply $54.95 plus $4.75 S & H, 200 Amazing MegaTrim
+     Capsules.  (A $10.95 Savings, Free Bottle)!
+<br><br>
+___3 Month Supply $69.95,  Plus $4.75 S & H, 300 Amazing MegaTrim
+     Capsules.  (A $28.90 Savings, Free Bottle)!
+<br><br>
+To Order by postal mail, please send to the below address.
+Make payable to UltraTrim 2002.
+<br><br>
+Ultra Trim 2002<br>
+4132 Pompton Ct.<br>
+Dayton, Ohio  45405<br>
+(937) 567-9807<br>
+<br>
+Order by 24 Hour Voice/Fax!!!  775-257-6657.<br>
+<br>
+*****<br>
+<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
+ <br><br>
+*     Credit Card Address, City, State and Zip Code, must match
+      billing address to be processed. 
+<br><br>
+
+___Check<br>
+___MoneyOrder<br>
+___Visa<br>
+___MasterCard<br>
+___AmericanExpress<br>
+___Debt Card
+<br><br>
+Name_______________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+Address____________________________________________________<br>
+(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+City,State,Zip(As it appears on Check or Credit Card)
+<br><br>
+___________________________________________________<br>
+Country
+<br><br>
+___________________________________________________<br>
+(Credit Card Number)
+<br><br>
+Expiration Month_____  Year_____
+<br><br>
+___________________________________________________<br>
+Authorized Signature
+<br><br>
+<b>
+*****IMPORTANT NOTE*****
+</b>
+<br><br>
+If Shipping Address Is Different From The Billing Address Above,
+Please Fill Out Information Below.
+<br><br>
+Shipping Name______________________________________________
+<br><br>
+Shipping Address___________________________________________
+<br><br>
+___________________________________________________________<br>
+Shipping City,State,Zip
+<br><br>
+___________________________________________________________<br>
+Country
+<br><br>
+___________________________________________________________<br>
+Email Address & Phone Number(Please Write Neat)
+<br>
+<br>
+<center>
+<a
+href="mailto:ultratrim2002dontsend@yahoo.com">To Be Removed From Our Mail List, Click Here And Put The Word Remove In The Subject Line.</a>
+</center>
+<br>
+<br>
+</body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[13/24] james-project git commit: JAMES-2493 use log4j only as a slf4j binding in spring app

Posted by bt...@apache.org.
JAMES-2493 use log4j only as a slf4j binding in spring app


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0e7b9cf4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0e7b9cf4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0e7b9cf4

Branch: refs/heads/master
Commit: 0e7b9cf47bfa624b9df512407498e1b561d1f12c
Parents: 2887540
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:18:51 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 .../java/org/apache/james/mpt/DiscardProtocol.java   | 12 ++++++------
 mpt/pom.xml                                          |  1 -
 pom.xml                                              |  6 ------
 server/container/spring/pom.xml                      |  1 +
 server/protocols/protocols-smtp/pom.xml              | 15 +++++----------
 5 files changed, 12 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0e7b9cf4/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
index d27bacc..2774079 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
@@ -30,9 +30,9 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Queue;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.james.util.Port;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Simple <a href='http://tools.ietf.org/html/rfc863'>RFC 863</a> implementation.
@@ -45,7 +45,7 @@ public class DiscardProtocol {
     
     private static final int IDLE_TIMEOUT = 120000;
 
-    private static final Log LOG = LogFactory.getLog(DiscardProtocol.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DiscardProtocol.class);
     
     /** Serve on this port */
     private Port port;
@@ -162,7 +162,7 @@ public class DiscardProtocol {
                     }
                 }
             } catch (Exception e) {
-                LOG.fatal("Cannot accept connection", e);
+                LOG.error("Cannot accept connection", e);
                 abort();
             }
         }
@@ -215,7 +215,7 @@ public class DiscardProtocol {
         public void run() {
             try {
                 if (socketChannel == null) {
-                    LOG.fatal("Socket channel must be set before instance is run.");
+                    LOG.error("Socket channel must be set before instance is run.");
                 } else {
                     try {
                         while (!socketChannel.finishConnect()) {
@@ -231,7 +231,7 @@ public class DiscardProtocol {
                         }
                         
                     } catch (Exception e) {
-                        LOG.fatal("Socket communication failed", e);
+                        LOG.error("Socket communication failed", e);
                         aborted = true;
                         
                     // Tidy up

http://git-wip-us.apache.org/repos/asf/james-project/blob/0e7b9cf4/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 4adef84..c2f6595 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -59,7 +59,6 @@
         <hbase.version>0.94.27</hbase.version>
         <jmock.version>2.6.0</jmock.version>
         <junit.version>4.11</junit.version>
-        <log4j.version>1.2.16</log4j.version>
         <lucene-core.version>3.6.0</lucene-core.version>
         <slf4j.version>1.7.25</slf4j.version>
     </properties>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0e7b9cf4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 28e4e91..4d2712f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -615,7 +615,6 @@
         <junit.vintage.version>4.12.2</junit.vintage.version>
         <jmock.version>2.6.0</jmock.version>
         <concurrent.version>1.3.4</concurrent.version>
-        <log4j.version>1.2.17</log4j.version>
         <jcr.version>2.0</jcr.version>
         <xbean-spring.version>4.9</xbean-spring.version>
         <netty.version>3.10.6.Final</netty.version>
@@ -1964,11 +1963,6 @@
                 <version>${junit.version}</version>
             </dependency>
             <dependency>
-                <groupId>log4j</groupId>
-                <artifactId>log4j</artifactId>
-                <version>${log4j.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>net.javacrumbs.json-unit</groupId>
                 <artifactId>json-unit-assertj</artifactId>
                 <version>2.0.0.RC1</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0e7b9cf4/server/container/spring/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index af76e95..00fc175 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -104,6 +104,7 @@
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <version>1.2.17</version>
         </dependency>
         <dependency>
             <groupId>org.apache.activemq</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0e7b9cf4/server/protocols/protocols-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index 0ff3fe9..9291472 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -154,6 +154,11 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -185,11 +190,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-annotation_1.1_spec</artifactId>
         </dependency>
@@ -240,11 +240,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[02/24] james-project git commit: JAMES-2493 upgrade logback to last version

Posted by bt...@apache.org.
JAMES-2493 upgrade logback to last version


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9bd0a1e1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9bd0a1e1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9bd0a1e1

Branch: refs/heads/master
Commit: 9bd0a1e1404569ce77956ddfa8472e71bd3681d6
Parents: 1fd63a7
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Jul 23 15:31:01 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:24:17 2018 +0700

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9bd0a1e1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 29763a8..38ea4c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -665,7 +665,7 @@
         <guice.version>4.1.0</guice.version>
         <jackrabbit-core.version>2.5.2</jackrabbit-core.version>
         <jackson1.version>1.9.2</jackson1.version>
-        <logback.version>1.1.11</logback.version>
+        <logback.version>1.2.3</logback.version>
     </properties>
 
     <dependencyManagement>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[08/24] james-project git commit: JAMES-2501 Create a SpamAssassin backend project

Posted by bt...@apache.org.
JAMES-2501 Create a SpamAssassin backend project


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1fd63a7f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1fd63a7f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1fd63a7f

Branch: refs/heads/master
Commit: 1fd63a7fb42283549ff987ad5fd9deb6136400fe
Parents: a80003a
Author: benwa <bt...@linagora.com>
Authored: Thu Jul 26 11:31:53 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:24:17 2018 +0700

----------------------------------------------------------------------
 mailbox/plugin/spamassassin/pom.xml             |  10 +
 .../mailbox/spamassassin/SpamAssassin.java      |   2 +-
 mailbox/store/pom.xml                           |   4 +
 pom.xml                                         |  12 +
 server/container/util/pom.xml                   |  23 -
 .../james/util/scanner/SpamAssassinInvoker.java | 251 -----------
 .../james/util/scanner/SpamAssassinResult.java  | 109 -----
 .../util/scanner/SpamAssassinExtension.java     | 148 -------
 .../util/scanner/SpamAssassinInvokerTest.java   | 147 -------
 .../util/scanner/SpamAssassinResultTest.java    |  96 -----
 .../util/scanner/SpamAssassinWaitStrategy.java  |  67 ---
 .../resources/docker/spamassassin/Dockerfile    |  43 --
 .../resources/docker/spamassassin/bayes_pg.sql  | 119 ------
 .../test/resources/docker/spamassassin/local.cf |  97 -----
 .../docker/spamassassin/rule-update.sh          |   7 -
 .../test/resources/docker/spamassassin/run.sh   |   9 -
 .../test/resources/docker/spamassassin/spamd.sh |  15 -
 .../util/src/test/resources/eml/spam.eml        | 152 -------
 .../src/test/resources/spamassassin_db/ham/ham1 | 113 -----
 .../src/test/resources/spamassassin_db/ham/ham2 |  73 ----
 .../src/test/resources/spamassassin_db/ham/ham3 |  82 ----
 .../src/test/resources/spamassassin_db/ham/ham4 |  78 ----
 .../src/test/resources/spamassassin_db/ham/ham5 |  77 ----
 .../src/test/resources/spamassassin_db/ham/ham6 |  74 ----
 .../src/test/resources/spamassassin_db/ham/ham7 |  88 ----
 .../src/test/resources/spamassassin_db/ham/ham8 |  85 ----
 .../src/test/resources/spamassassin_db/ham/ham9 | 176 --------
 .../test/resources/spamassassin_db/spam/spam1   | 108 -----
 .../test/resources/spamassassin_db/spam/spam2   | 186 --------
 .../test/resources/spamassassin_db/spam/spam3   | 211 ---------
 .../test/resources/spamassassin_db/spam/spam4   | 213 ----------
 .../test/resources/spamassassin_db/spam/spam5   | 161 -------
 .../test/resources/spamassassin_db/spam/spam6   | 423 -------------------
 .../test/resources/spamassassin_db/spam/spam7   |  71 ----
 .../test/resources/spamassassin_db/spam/spam8   | 321 --------------
 .../test/resources/spamassassin_db/spam/spam9   | 142 -------
 .../transport/mailets/SpamAssassinTest.java     |   2 +-
 server/mailet/mailets/pom.xml                   |  10 +
 .../james/transport/mailets/SpamAssassin.java   |   4 +-
 .../transport/matchers/IsMarkedAsSpam.java      |   2 +-
 .../transport/mailets/SpamAssassinTest.java     |   6 +-
 .../cassandra-jmap-integration-testing/pom.xml  |   6 +
 .../jmap/cassandra/CassandraJmapExtension.java  |   2 +-
 .../jmap-integration-testing-common/pom.xml     |   6 +
 .../integration/JamesWithSpamAssassin.java      |   2 +-
 .../methods/integration/SpamAssassinModule.java |   4 +-
 .../memory-jmap-integration-testing/pom.xml     |   6 +
 .../james/jmap/memory/MemoryJmapExtension.java  |   2 +-
 server/protocols/protocols-smtp/pom.xml         |  10 +
 .../fastfail/SpamAssassinHandler.java           |   4 +-
 .../smtpserver/SpamAssassinHandlerTest.java     |   6 +-
 .../java/org/apache/james/utils/MockSpamd.java  | 101 -----
 .../apache/james/utils/MockSpamdTestRule.java   |  46 --
 third-party/pom.xml                             |  40 ++
 third-party/spamassassin/pom.xml                |  93 ++++
 .../james/spamassassin/SpamAssassinInvoker.java | 251 +++++++++++
 .../james/spamassassin/SpamAssassinResult.java  | 109 +++++
 .../spamassassin/SpamAssassinExtension.java     | 148 +++++++
 .../spamassassin/SpamAssassinInvokerTest.java   | 147 +++++++
 .../spamassassin/SpamAssassinResultTest.java    |  96 +++++
 .../spamassassin/SpamAssassinWaitStrategy.java  |  67 +++
 .../james/spamassassin/mock/MockSpamd.java      | 101 +++++
 .../spamassassin/mock/MockSpamdTestRule.java    |  46 ++
 .../resources/docker/spamassassin/Dockerfile    |  43 ++
 .../resources/docker/spamassassin/bayes_pg.sql  | 119 ++++++
 .../test/resources/docker/spamassassin/local.cf |  97 +++++
 .../docker/spamassassin/rule-update.sh          |   7 +
 .../test/resources/docker/spamassassin/run.sh   |   9 +
 .../test/resources/docker/spamassassin/spamd.sh |  15 +
 .../src/test/resources/eml/spam.eml             | 152 +++++++
 .../src/test/resources/spamassassin_db/ham/ham1 | 113 +++++
 .../src/test/resources/spamassassin_db/ham/ham2 |  73 ++++
 .../src/test/resources/spamassassin_db/ham/ham3 |  82 ++++
 .../src/test/resources/spamassassin_db/ham/ham4 |  78 ++++
 .../src/test/resources/spamassassin_db/ham/ham5 |  77 ++++
 .../src/test/resources/spamassassin_db/ham/ham6 |  74 ++++
 .../src/test/resources/spamassassin_db/ham/ham7 |  88 ++++
 .../src/test/resources/spamassassin_db/ham/ham8 |  85 ++++
 .../src/test/resources/spamassassin_db/ham/ham9 | 176 ++++++++
 .../test/resources/spamassassin_db/spam/spam1   | 108 +++++
 .../test/resources/spamassassin_db/spam/spam2   | 186 ++++++++
 .../test/resources/spamassassin_db/spam/spam3   | 211 +++++++++
 .../test/resources/spamassassin_db/spam/spam4   | 213 ++++++++++
 .../test/resources/spamassassin_db/spam/spam5   | 161 +++++++
 .../test/resources/spamassassin_db/spam/spam6   | 423 +++++++++++++++++++
 .../test/resources/spamassassin_db/spam/spam7   |  71 ++++
 .../test/resources/spamassassin_db/spam/spam8   | 321 ++++++++++++++
 .../test/resources/spamassassin_db/spam/spam9   | 142 +++++++
 88 files changed, 4304 insertions(+), 4130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/mailbox/plugin/spamassassin/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/plugin/spamassassin/pom.xml b/mailbox/plugin/spamassassin/pom.xml
index ec8f1c5..830e22d 100644
--- a/mailbox/plugin/spamassassin/pom.xml
+++ b/mailbox/plugin/spamassassin/pom.xml
@@ -52,6 +52,16 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-spamassassin</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
index a2c19f0..b86fe28 100644
--- a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
+++ b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
@@ -24,8 +24,8 @@ import java.util.List;
 import javax.inject.Inject;
 
 import org.apache.james.metrics.api.MetricFactory;
+import org.apache.james.spamassassin.SpamAssassinInvoker;
 import org.apache.james.util.Host;
-import org.apache.james.util.scanner.SpamAssassinInvoker;
 
 import com.github.fge.lambdas.Throwing;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/mailbox/store/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/store/pom.xml b/mailbox/store/pom.xml
index 00b476e..d4f4e48 100644
--- a/mailbox/store/pom.xml
+++ b/mailbox/store/pom.xml
@@ -72,6 +72,10 @@
             <artifactId>james-server-util-java8</artifactId>
         </dependency>
         <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>metrics-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7d32655..29763a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -536,6 +536,7 @@
         <module>mpt</module>
         <module>protocols</module>
         <module>server</module>
+        <module>third-party</module>
     </modules>
 
     <scm>
@@ -704,6 +705,17 @@
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
+                <artifactId>apache-james-spamassassin</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${james.groupId}</groupId>
+                <artifactId>apache-james-spamassassin</artifactId>
+                <version>${project.version}</version>
+                <type>test-jar</type>
+            </dependency>
+            <dependency>
+                <groupId>${james.groupId}</groupId>
                 <artifactId>apache-james-mailbox-api</artifactId>
                 <version>${project.version}</version>
             </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/util/pom.xml b/server/container/util/pom.xml
index 8f2a94e..fadfca7 100644
--- a/server/container/util/pom.xml
+++ b/server/container/util/pom.xml
@@ -34,28 +34,10 @@
 
     <dependencies>
         <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>javax-mail-extension</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>metrics-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.github.fge</groupId>
-            <artifactId>throwing-lambdas</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
         </dependency>
@@ -87,11 +69,6 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.testcontainers</groupId>
-            <artifactId>testcontainers</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
deleted file mode 100644
index fe825aa..0000000
--- a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.util.scanner;
-
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.james.metrics.api.MetricFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.github.fge.lambdas.Throwing;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
-
-/**
- * Sends the message through daemonized SpamAssassin (spamd), visit <a
- * href="SpamAssassin.org">SpamAssassin.org</a> for info on configuration.
- */
-public class SpamAssassinInvoker {
-    private static final Logger LOGGER = LoggerFactory.getLogger(SpamAssassinInvoker.class);
-
-    enum MessageClass {
-        HAM("ham"),
-        SPAM("spam");
-
-        private final String value;
-
-        MessageClass(String value) {
-            this.value = value;
-        }
-    }
-
-    private static final int SPAM_INDEX = 1;
-    private static final int HITS_INDEX = 3;
-    private static final int REQUIRED_HITS_INDEX = 5;
-    private static final String CRLF = "\r\n";
-
-    private final MetricFactory metricFactory;
-    private final String spamdHost;
-    private final int spamdPort;
-
-    /**
-     * Init the spamassassin invoker
-     *
-     * @param spamdHost
-     *            The host on which spamd runs
-     * @param spamdPort
-     */
-    public SpamAssassinInvoker(MetricFactory metricFactory, String spamdHost, int spamdPort) {
-        this.metricFactory = metricFactory;
-        this.spamdHost = spamdHost;
-        this.spamdPort = spamdPort;
-    }
-
-    /**
-     * Scan a MimeMessage for spam by passing it to spamd.
-     * 
-     * @param message
-     *            The MimeMessage to scan
-     * @return true if spam otherwise false
-     * @throws MessagingException
-     *             if an error on scanning is detected
-     */
-    public SpamAssassinResult scanMail(MimeMessage message, String user) throws MessagingException {
-        return metricFactory.withMetric(
-            "spamAssassin-check",
-            Throwing.supplier(
-                () -> scanMailWithAdditionalHeaders(message,
-                    "User: " + user))
-                .sneakyThrow());
-    }
-
-    public SpamAssassinResult scanMail(MimeMessage message) throws MessagingException {
-        return metricFactory.withMetric(
-            "spamAssassin-check",
-            Throwing.supplier(
-                () -> scanMailWithoutAdditionalHeaders(message))
-            .sneakyThrow());
-    }
-
-    public SpamAssassinResult scanMailWithAdditionalHeaders(MimeMessage message, String... additionalHeaders) throws MessagingException {
-        try (Socket socket = new Socket(spamdHost, spamdPort);
-             OutputStream out = socket.getOutputStream();
-             BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
-             PrintWriter writer = new PrintWriter(bufferedOutputStream);
-             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
-
-            writer.write("CHECK SPAMC/1.2");
-            writer.write(CRLF);
-
-            Arrays.stream(additionalHeaders)
-                .forEach(header -> {
-                    writer.write(header);
-                    writer.write(CRLF);
-                });
-
-            writer.write(CRLF);
-            writer.flush();
-
-            // pass the message to spamd
-            message.writeTo(out);
-            out.flush();
-            socket.shutdownOutput();
-
-            return in.lines()
-                .filter(this::isSpam)
-                .map(this::processSpam)
-                .findFirst()
-                .orElse(SpamAssassinResult.empty());
-        } catch (UnknownHostException e) {
-            throw new MessagingException("Error communicating with spamd. Unknown host: " + spamdHost);
-        } catch (IOException | MessagingException e) {
-            throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort, e);
-        }
-    }
-
-    public SpamAssassinResult scanMailWithoutAdditionalHeaders(MimeMessage message) throws MessagingException {
-        return scanMailWithAdditionalHeaders(message);
-    }
-
-    private SpamAssassinResult processSpam(String line) {
-        List<String> elements = Lists.newArrayList(Splitter.on(' ').split(line));
-
-        return builderFrom(elements)
-            .hits(elements.get(HITS_INDEX))
-            .requiredHits(elements.get(REQUIRED_HITS_INDEX))
-            .build();
-    }
-
-    private SpamAssassinResult.Builder builderFrom(List<String> elements) {
-        if (spam(elements.get(SPAM_INDEX))) {
-            return SpamAssassinResult.asSpam();
-        } else {
-            return SpamAssassinResult.asHam();
-        }
-    }
-
-    private boolean spam(String string) {
-        try {
-            return Boolean.valueOf(string);
-        } catch (Exception e) {
-            LOGGER.warn("Fail parsing spamassassin answer: " + string);
-            return false;
-        }
-    }
-
-    private boolean isSpam(String line) {
-        return line.startsWith("Spam:");
-    }
-
-    /**
-     * Tell spamd that the given MimeMessage is a spam.
-     * 
-     * @param message
-     *            The MimeMessage to tell
-     * @throws MessagingException
-     *             if an error occured during learning.
-     */
-    public boolean learnAsSpam(InputStream message, String user) throws MessagingException {
-        return metricFactory.withMetric(
-            "spamAssassin-spam-report",
-            Throwing.supplier(
-                () -> reportMessageAs(message, user, MessageClass.SPAM))
-                .sneakyThrow());
-    }
-
-    /**
-     * Tell spamd that the given MimeMessage is a ham.
-     *
-     * @param message
-     *            The MimeMessage to tell
-     * @throws MessagingException
-     *             if an error occured during learning.
-     */
-    public boolean learnAsHam(InputStream message, String user) throws MessagingException {
-        return metricFactory.withMetric(
-            "spamAssassin-ham-report",
-            Throwing.supplier(
-                () -> reportMessageAs(message, user, MessageClass.HAM))
-                .sneakyThrow());
-    }
-
-    private boolean reportMessageAs(InputStream message, String user, MessageClass messageClass) throws MessagingException {
-        try (Socket socket = new Socket(spamdHost, spamdPort);
-             OutputStream out = socket.getOutputStream();
-             BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
-             PrintWriter writer = new PrintWriter(bufferedOutputStream);
-             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
-
-            byte[] byteArray = IOUtils.toByteArray(message);
-            writer.write("TELL SPAMC/1.2");
-            writer.write(CRLF);
-            writer.write("Content-length: " + byteArray.length);
-            writer.write(CRLF);
-            writer.write("Message-class: " + messageClass.value);
-            writer.write(CRLF);
-            writer.write("Set: local, remote");
-            writer.write(CRLF);
-            writer.write("User: " + user);
-            writer.write(CRLF);
-            writer.write(CRLF);
-            writer.flush();
-
-            out.write(byteArray);
-            out.flush();
-            socket.shutdownOutput();
-
-            return in.lines()
-                .anyMatch(this::hasBeenSet);
-        } catch (UnknownHostException e) {
-            throw new MessagingException("Error communicating with spamd. Unknown host: " + spamdHost);
-        } catch (IOException e) {
-            throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort, e);
-        }
-    }
-
-    private boolean hasBeenSet(String line) {
-        return line.startsWith("DidSet: ");
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
deleted file mode 100644
index a48967f..0000000
--- a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinResult.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.util.scanner;
-
-import java.util.Map;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableMap;
-
-public class SpamAssassinResult {
-    /** The mail attribute under which the status get stored */
-    public static final String STATUS_MAIL_ATTRIBUTE_NAME = "org.apache.james.spamassassin.status";
-
-    /** The mail attribute under which the flag get stored */
-    public static final String FLAG_MAIL_ATTRIBUTE_NAME = "org.apache.james.spamassassin.flag";
-
-    public static final String NO_RESULT = "?";
-
-    public static SpamAssassinResult empty() {
-        return asHam()
-                .hits(NO_RESULT)
-                .requiredHits(NO_RESULT)
-                .build();
-    }
-
-    public static Builder asSpam() {
-        return new Builder(true);
-    }
-
-    public static Builder asHam() {
-        return new Builder(false);
-    }
-
-    public static class Builder {
-        
-        private String hits;
-        private String requiredHits;
-        private final boolean isSpam;
-
-        private Builder(boolean isSpam) {
-            this.isSpam = isSpam;
-        }
-
-        public Builder hits(String hits) {
-            this.hits = hits;
-            return this;
-        }
-
-        public Builder requiredHits(String requiredHits) {
-            this.requiredHits = requiredHits;
-            return this;
-        }
-
-        public SpamAssassinResult build() {
-            Preconditions.checkNotNull(hits);
-            Preconditions.checkNotNull(requiredHits);
-
-            ImmutableMap.Builder<String, String> headersAsAttribute = ImmutableMap.builder();
-            if (isSpam) {
-                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "YES");
-                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=" + hits + " required=" + requiredHits);
-            } else {
-                headersAsAttribute.put(FLAG_MAIL_ATTRIBUTE_NAME, "NO");
-                headersAsAttribute.put(STATUS_MAIL_ATTRIBUTE_NAME, "No, hits=" + hits + " required=" + requiredHits);
-            }
-
-            return new SpamAssassinResult(hits, requiredHits, headersAsAttribute.build());
-        }
-    }
-
-    private final String hits;
-    private final String requiredHits;
-    private final Map<String, String> headersAsAttribute;
-
-    private SpamAssassinResult(String hits, String requiredHits, Map<String, String> headersAsAttribute) {
-        this.hits = hits;
-        this.requiredHits = requiredHits;
-        this.headersAsAttribute = headersAsAttribute;
-    }
-
-    public String getHits() {
-        return hits;
-    }
-
-    public String getRequiredHits() {
-        return requiredHits;
-    }
-
-    public Map<String, String> getHeadersAsAttribute() {
-        return headersAsAttribute;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java
deleted file mode 100644
index 46100bc..0000000
--- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinExtension.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.util.scanner;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Locale;
-import java.util.stream.Stream;
-
-import org.junit.jupiter.api.extension.AfterEachCallback;
-import org.junit.jupiter.api.extension.BeforeEachCallback;
-import org.junit.jupiter.api.extension.ExtensionContext;
-import org.junit.jupiter.api.extension.ParameterContext;
-import org.junit.jupiter.api.extension.ParameterResolutionException;
-import org.junit.jupiter.api.extension.ParameterResolver;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.images.builder.ImageFromDockerfile;
-
-import com.github.fge.lambdas.Throwing;
-
-public class SpamAssassinExtension implements BeforeEachCallback, AfterEachCallback, ParameterResolver {
-
-    private final GenericContainer<?> spamAssassinContainer;
-    private SpamAssassin spamAssassin;
-
-    public SpamAssassinExtension() {
-        spamAssassinContainer = new GenericContainer<>(
-            new ImageFromDockerfile()
-                .withFileFromClasspath("Dockerfile", "docker/spamassassin/Dockerfile")
-                .withFileFromClasspath("local.cf", "docker/spamassassin/local.cf")
-                .withFileFromClasspath("run.sh", "docker/spamassassin/run.sh")
-                .withFileFromClasspath("spamd.sh", "docker/spamassassin/spamd.sh")
-                .withFileFromClasspath("rule-update.sh", "docker/spamassassin/rule-update.sh")
-                .withFileFromClasspath("bayes_pg.sql", "docker/spamassassin/bayes_pg.sql"));
-        spamAssassinContainer.waitingFor(new SpamAssassinWaitStrategy(spamAssassinContainer));
-    }
-
-    @Override
-    public void beforeEach(ExtensionContext context) {
-        spamAssassinContainer.start();
-        spamAssassin = new SpamAssassin(spamAssassinContainer);
-    }
-
-    @Override
-    public void afterEach(ExtensionContext context) {
-        spamAssassinContainer.close();
-    }
-
-    @Override
-    public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
-        return (parameterContext.getParameter().getType() == SpamAssassin.class);
-    }
-
-    @Override
-    public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
-        return spamAssassin;
-    }
-
-    public SpamAssassin getSpamAssassin() {
-        return spamAssassin;
-    }
-
-    public static class SpamAssassin {
-        
-        private static final int SPAMASSASSIN_PORT = 783;
-
-        private final String ip;
-        private final int bindingPort;
-        private final GenericContainer<?> spamAssassinContainer;
-
-        private SpamAssassin(GenericContainer<?> spamAssassinContainer) {
-            this.spamAssassinContainer = spamAssassinContainer;
-            this.ip = spamAssassinContainer.getContainerIpAddress();
-            this.bindingPort = spamAssassinContainer.getMappedPort(SPAMASSASSIN_PORT);
-        }
-
-        public String getIp() {
-            return ip;
-        }
-    
-        public int getBindingPort() {
-            return bindingPort;
-        }
-
-        public void train(String user) throws IOException, URISyntaxException {
-            train(user, Paths.get(ClassLoader.getSystemResource("spamassassin_db/spam").toURI()), TrainingKind.SPAM);
-            train(user, Paths.get(ClassLoader.getSystemResource("spamassassin_db/ham").toURI()), TrainingKind.HAM);
-        }
-
-        private void train(String user, Path folder, TrainingKind trainingKind) throws IOException {
-            spamAssassinContainer.getDockerClient().copyArchiveToContainerCmd(spamAssassinContainer.getContainerId())
-                .withHostResource(folder.toAbsolutePath().toString())
-                .withRemotePath("/root")
-                .exec();
-            try (Stream<Path> paths = Files.walk(folder)) {
-                paths
-                    .filter(Files::isRegularFile)
-                    .map(Path::toFile)
-                    .forEach(Throwing.consumer(file -> spamAssassinContainer.execInContainer("sa-learn",
-                        trainingKind.saLearnExtensionName(), "-u", user,
-                        "/root/" + trainingKind.name().toLowerCase(Locale.US) + "/" +  file.getName())));
-            }
-        }
-
-        private enum TrainingKind {
-            SPAM("--spam"), HAM("--ham");
-
-            private String saLearnExtensionName;
-
-            TrainingKind(String saLearnExtensionName) {
-                this.saLearnExtensionName = saLearnExtensionName;
-            }
-
-            public String saLearnExtensionName() {
-                return saLearnExtensionName;
-            }
-        }
-
-        public void sync(String user) throws UnsupportedOperationException, IOException, InterruptedException {
-            spamAssassinContainer.execInContainer("sa-learn", "--sync", "-u", user);
-        }
-
-        public void dump(String user) throws UnsupportedOperationException, IOException, InterruptedException {
-            spamAssassinContainer.execInContainer("sa-learn", "--dump", "magic", "-u", user);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
deleted file mode 100644
index 4901ba4..0000000
--- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinInvokerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.util.scanner;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.ByteArrayInputStream;
-import java.nio.charset.StandardCharsets;
-
-import javax.mail.internet.MimeMessage;
-
-import org.apache.james.metrics.api.NoopMetricFactory;
-import org.apache.james.util.MimeMessageUtil;
-import org.apache.james.util.scanner.SpamAssassinExtension.SpamAssassin;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-
-@ExtendWith(SpamAssassinExtension.class)
-public class SpamAssassinInvokerTest {
-
-    public static final String USER = "any@james";
-    private SpamAssassin spamAssassin;
-    private SpamAssassinInvoker testee;
-
-    @BeforeEach
-    public void setup(SpamAssassin spamAssassin) throws Exception {
-        this.spamAssassin = spamAssassin;
-        testee = new SpamAssassinInvoker(new NoopMetricFactory(), spamAssassin.getIp(), spamAssassin.getBindingPort());
-    }
-
-    @Test
-    public void scanMailShouldModifyHitsField() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHits()).isNotEqualTo(SpamAssassinResult.NO_RESULT);
-    }
-
-    @Test
-    public void scanMailShouldModifyRequiredHitsField() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getRequiredHits()).isEqualTo("5.0");
-    }
-
-    @Test
-    public void scanMailShouldModifyHeadersField() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHeadersAsAttribute()).isNotEmpty();
-    }
-
-    @Test
-    public void scanMailShouldMarkAsSpamWhenKnownAsSpam() throws Exception {
-        spamAssassin.train("user");
-        
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam1"));
-
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
-    }
-
-    @Test
-    public void learnAsSpamShouldReturnTrueWhenLearningWorks() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam2"));
-
-        boolean result = testee.learnAsSpam(mimeMessage.getInputStream(), USER);
-
-        assertThat(result).isTrue();
-    }
-
-    @Test
-    public void scanMailShouldMarkAsSpamWhenMessageAlreadyLearnedAsSpam() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-                ClassLoader.getSystemResourceAsStream("spamassassin_db/spam/spam1"));
-
-        byte[] messageAsBytes = MimeMessageUtil.asString(mimeMessage).getBytes(StandardCharsets.UTF_8);
-
-        testee.learnAsSpam(new ByteArrayInputStream(messageAsBytes), USER);
-
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("YES");
-    }
-
-    @Test
-    public void learnAsHamShouldReturnTrueWhenLearningWorks() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-            ClassLoader.getSystemResourceAsStream("spamassassin_db/ham/ham2"));
-
-        boolean result = testee.learnAsHam(mimeMessage.getInputStream(), USER);
-
-        assertThat(result).isTrue();
-    }
-
-    @Test
-    public void scanMailShouldMarkAsHamWhenMessageAlreadyLearnedAsHam() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-            ClassLoader.getSystemResourceAsStream("spamassassin_db/ham/ham1"));
-
-        testee.learnAsHam(mimeMessage.getInputStream(), USER);
-
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
-    }
-
-    @Test
-    public void learnAsHamShouldAllowToForgetSpam() throws Exception {
-        MimeMessage mimeMessage = MimeMessageUtil.mimeMessageFromStream(
-            ClassLoader.getSystemResourceAsStream("eml/spam.eml"));
-
-        byte[] messageAsBytes = MimeMessageUtil.asString(mimeMessage).getBytes(StandardCharsets.UTF_8);
-
-        testee.learnAsSpam(new ByteArrayInputStream(messageAsBytes), USER);
-        testee.learnAsHam(new ByteArrayInputStream(messageAsBytes), USER);
-
-        SpamAssassinResult result = testee.scanMail(mimeMessage, USER);
-
-        assertThat(result.getHeadersAsAttribute().get(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME)).isEqualTo("NO");
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
deleted file mode 100644
index 0b67589..0000000
--- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinResultTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-package org.apache.james.util.scanner;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
-import org.assertj.core.api.JUnitSoftAssertions;
-import org.junit.Rule;
-import org.junit.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-public class SpamAssassinResultTest {
-
-    @Rule
-    public JUnitSoftAssertions softly = new JUnitSoftAssertions();
-
-    @Test
-    public void buildShouldThrowWhenHitsIsNotGiven() {
-        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
-                .requiredHits("4.0")
-                .build())
-            .isInstanceOf(NullPointerException.class);
-    }
-
-    @Test
-    public void buildShouldThrowWhenRequiredHitsIsNotGiven() {
-        assertThatThrownBy(() -> SpamAssassinResult.asSpam()
-                .hits("4.0")
-                .build())
-            .isInstanceOf(NullPointerException.class);
-    }
-
-    @Test
-    public void buildShouldWork() {
-        String hits = "1.1";
-        String requiredHits = "5.0";
-
-        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
-            .hits(hits)
-            .requiredHits(requiredHits)
-            .build();
-
-        softly.assertThat(spamAssassinResult.getHits()).isEqualTo(hits);
-        softly.assertThat(spamAssassinResult.getRequiredHits()).isEqualTo(requiredHits);
-        softly.assertThat(spamAssassinResult.getHeadersAsAttribute())
-            .containsAllEntriesOf(ImmutableMap.of(
-                SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES",
-                SpamAssassinResult.STATUS_MAIL_ATTRIBUTE_NAME, "Yes, hits=1.1 required=5.0"));
-    }
-
-    @Test
-    public void headersAsAttributeShouldContainSpamHeaderWithYESValueWhenBuiltAsSpam() {
-        String hits = "1.1";
-        String requiredHits = "5.0";
-
-        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asSpam()
-            .hits(hits)
-            .requiredHits(requiredHits)
-            .build();
-
-        assertThat(spamAssassinResult.getHeadersAsAttribute())
-            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "YES");
-    }
-
-    @Test
-    public void headersAsAttributeShouldContainSpamHeaderWithNOValueWhenBuiltAsHam() {
-        String hits = "1.1";
-        String requiredHits = "5.0";
-
-        SpamAssassinResult spamAssassinResult = SpamAssassinResult.asHam()
-            .hits(hits)
-            .requiredHits(requiredHits)
-            .build();
-
-        assertThat(spamAssassinResult.getHeadersAsAttribute())
-            .containsEntry(SpamAssassinResult.FLAG_MAIL_ATTRIBUTE_NAME, "NO");
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java b/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java
deleted file mode 100644
index 1341256..0000000
--- a/server/container/util/src/test/java/org/apache/james/util/scanner/SpamAssassinWaitStrategy.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.util.scanner;
-
-import java.io.IOException;
-import java.time.Duration;
-import java.util.concurrent.TimeUnit;
-
-import org.rnorth.ducttape.unreliables.Unreliables;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.wait.strategy.WaitStrategy;
-import org.testcontainers.containers.wait.strategy.WaitStrategyTarget;
-
-import com.google.common.primitives.Ints;
-
-public class SpamAssassinWaitStrategy implements WaitStrategy {
-
-    private static final Duration DEFAULT_TIMEOUT = Duration.ofMinutes(1);
-    private final GenericContainer<?> spamAssassinContainer;
-    private Duration timeout = DEFAULT_TIMEOUT;
-
-    public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer) {
-        this(spamAssassinContainer, DEFAULT_TIMEOUT);
-    }
-
-    public SpamAssassinWaitStrategy(GenericContainer<?> spamAssassinContainer, Duration timeout) {
-        this.spamAssassinContainer = spamAssassinContainer;
-        this.timeout = timeout;
-    }
-
-    @Override
-    public void waitUntilReady(WaitStrategyTarget waitStrategyTarget) {
-        Unreliables.retryUntilTrue(Ints.checkedCast(timeout.getSeconds()), TimeUnit.SECONDS, () -> {
-                try {
-                    return spamAssassinContainer
-                        .execInContainer("spamassassin", "-V")
-                        .getStdout()
-                        .contains("SpamAssassin version 3.4.1");
-                } catch (IOException | InterruptedException e) {
-                    return false;
-                }
-            }
-        );
-    }
-
-    @Override
-    public WaitStrategy withStartupTimeout(Duration startupTimeout) {
-        return new SpamAssassinWaitStrategy(spamAssassinContainer, startupTimeout);
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/Dockerfile
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/Dockerfile b/server/container/util/src/test/resources/docker/spamassassin/Dockerfile
deleted file mode 100644
index ad1187a..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/Dockerfile
+++ /dev/null
@@ -1,43 +0,0 @@
-FROM postgres:10.3
-
-ENV SPAMASSASSIN_VERSION 3.4.1
-
-RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
-        gpg \
-        libio-socket-ip-perl \
-        libmail-dkim-perl \
-        libnet-ident-perl \
-        libsocket-getaddrinfo-perl \
-        pyzor \
-        razor \
-        libdbi-perl \
-        libdbd-pg-perl \
-        spamassassin=${SPAMASSASSIN_VERSION}* && \
-    apt-get clean && \
-    rm -rf /var/lib/apt/lists/*
-
-RUN mkdir -p /etc/spamassassin/sa-update-keys && \
-    chmod 700 /etc/spamassassin/sa-update-keys && \
-    chown debian-spamd:debian-spamd /etc/spamassassin/sa-update-keys && \
-    mkdir -p /var/lib/spamassassin/.pyzor && \
-    chmod 700 /var/lib/spamassassin/.pyzor && \
-    echo "public.pyzor.org:24441" > /var/lib/spamassassin/.pyzor/servers && \
-    chmod 600 /var/lib/spamassassin/.pyzor/servers && \
-    chown -R debian-spamd:debian-spamd /var/lib/spamassassin/.pyzor
-
-RUN sed -i 's/^logfile = .*$/logfile = \/dev\/stderr/g' /etc/razor/razor-agent.conf
-
-COPY spamd.sh /
-COPY rule-update.sh /
-COPY run.sh /
-RUN chmod 755 /spamd.sh /rule-update.sh /run.sh
-
-COPY local.cf /etc/spamassassin/
-
-# Bayes database will be created automatically by Postres
-COPY bayes_pg.sql /docker-entrypoint-initdb.d/
-
-EXPOSE 783
-
-ENTRYPOINT ["/spamd.sh"]

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/bayes_pg.sql
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/bayes_pg.sql b/server/container/util/src/test/resources/docker/spamassassin/bayes_pg.sql
deleted file mode 100644
index ef96472..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/bayes_pg.sql
+++ /dev/null
@@ -1,119 +0,0 @@
-
-CREATE TABLE bayes_expire (
-  id integer NOT NULL default '0',
-  runtime integer NOT NULL default '0'
-) WITHOUT OIDS;
-
-CREATE INDEX bayes_expire_idx1 ON bayes_expire (id);
-
-CREATE TABLE bayes_global_vars (
-  variable varchar(30) NOT NULL default '',
-  value varchar(200) NOT NULL default '',
-  PRIMARY KEY  (variable)
-) WITHOUT OIDS;
-
-INSERT INTO bayes_global_vars VALUES ('VERSION','3');
-
-CREATE TABLE bayes_seen (
-  id integer NOT NULL default '0',
-  msgid varchar(200) NOT NULL default '',
-  flag character(1) NOT NULL default '',
-  PRIMARY KEY  (id,msgid)
-) WITHOUT OIDS;
-
-CREATE TABLE bayes_token (
-  id integer NOT NULL default '0',
-  token bytea NOT NULL default '',
-  spam_count integer NOT NULL default '0',
-  ham_count integer NOT NULL default '0',
-  atime integer NOT NULL default '0',
-  PRIMARY KEY  (id,token)
-) WITHOUT OIDS;
-
-CREATE INDEX bayes_token_idx1 ON bayes_token (token);
-
-ALTER TABLE bayes_token SET (fillfactor=95);
-
-CREATE TABLE bayes_vars (
-  id serial NOT NULL,
-  username varchar(200) NOT NULL default '',
-  spam_count integer NOT NULL default '0',
-  ham_count integer NOT NULL default '0',
-  token_count integer NOT NULL default '0',
-  last_expire integer NOT NULL default '0',
-  last_atime_delta integer NOT NULL default '0',
-  last_expire_reduce integer NOT NULL default '0',
-  oldest_token_age integer NOT NULL default '2147483647',
-  newest_token_age integer NOT NULL default '0',
-  PRIMARY KEY  (id)
-) WITHOUT OIDS;
-
-CREATE UNIQUE INDEX bayes_vars_idx1 ON bayes_vars (username);
-
-CREATE OR REPLACE FUNCTION greatest_int (integer, integer)
- RETURNS INTEGER
- IMMUTABLE STRICT
- AS 'SELECT CASE WHEN $1 < $2 THEN $2 ELSE $1 END;'
- LANGUAGE SQL;
-
-CREATE OR REPLACE FUNCTION least_int (integer, integer)
- RETURNS INTEGER
- IMMUTABLE STRICT
- AS 'SELECT CASE WHEN $1 < $2 THEN $1 ELSE $2 END;'
- LANGUAGE SQL;
-
-CREATE OR REPLACE FUNCTION put_tokens(INTEGER,
-                                      BYTEA[],
-                                      INTEGER,
-                                      INTEGER,
-                                      INTEGER)
-RETURNS VOID AS ' 
-DECLARE
-  inuserid      ALIAS FOR $1;
-  intokenary    ALIAS FOR $2;
-  inspam_count  ALIAS FOR $3;
-  inham_count   ALIAS FOR $4;
-  inatime       ALIAS FOR $5;
-  _token BYTEA;
-  new_tokens INTEGER := 0;
-BEGIN
-  for i in array_lower(intokenary, 1) .. array_upper(intokenary, 1)
-  LOOP
-    _token := intokenary[i];
-    UPDATE bayes_token
-       SET spam_count = greatest_int(spam_count + inspam_count, 0),
-           ham_count = greatest_int(ham_count + inham_count, 0),
-           atime = greatest_int(atime, inatime)
-     WHERE id = inuserid 
-       AND token = _token;
-    IF NOT FOUND THEN 
-      -- we do not insert negative counts, just return true
-      IF NOT (inspam_count < 0 OR inham_count < 0) THEN
-        INSERT INTO bayes_token (id, token, spam_count, ham_count, atime) 
-        VALUES (inuserid, _token, inspam_count, inham_count, inatime); 
-        IF FOUND THEN
-          new_tokens := new_tokens + 1;
-        END IF;
-      END IF;
-    END IF;
-  END LOOP;
-
-  IF new_tokens > 0 AND inatime > 0 THEN
-    UPDATE bayes_vars
-       SET token_count = token_count + new_tokens,
-           newest_token_age = greatest_int(newest_token_age, inatime),
-           oldest_token_age = least_int(oldest_token_age, inatime)
-     WHERE id = inuserid;
-  ELSIF new_tokens > 0 AND NOT inatime > 0 THEN
-    UPDATE bayes_vars
-       SET token_count = token_count + new_tokens
-     WHERE id = inuserid;
-  ELSIF NOT new_tokens > 0 AND inatime > 0 THEN
-    UPDATE bayes_vars
-       SET newest_token_age = greatest_int(newest_token_age, inatime),
-           oldest_token_age = least_int(oldest_token_age, inatime)
-     WHERE id = inuserid;
-  END IF;
-  RETURN;
-END; 
-' LANGUAGE 'plpgsql'; 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/local.cf
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/local.cf b/server/container/util/src/test/resources/docker/spamassassin/local.cf
deleted file mode 100644
index 6005e55..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/local.cf
+++ /dev/null
@@ -1,97 +0,0 @@
-# This is the right place to customize your installation of SpamAssassin.
-#
-# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
-# tweaked.
-#
-# Only a small subset of options are listed below
-#
-###########################################################################
-
-#   Add *****SPAM***** to the Subject header of spam e-mails
-#
-# rewrite_header Subject *****SPAM*****
-
-
-#   Save spam messages as a message/rfc822 MIME attachment instead of
-#   modifying the original message (0: off, 2: use text/plain instead)
-#
-# report_safe 1
-
-
-#   Set which networks or hosts are considered 'trusted' by your mail
-#   server (i.e. not spammers)
-#
-# trusted_networks 212.17.35.
-
-
-#   Set file-locking method (flock is not safe over NFS, but is faster)
-#
-# lock_method flock
-
-
-#   Set the threshold at which a message is considered spam (default: 5.0)
-#
-# required_score 5.0
-
-
-#   Use Bayesian classifier (default: 1)
-#
-use_bayes 1
-
-
-#   Bayesian classifier auto-learning (default: 1)
-#
-#bayes_auto_learn 1
-
-bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
-
-bayes_sql_dsn DBI:Pg:dbname=postgres;host=localhost
-bayes_sql_username postgres
-
-bayes_min_spam_num 1
-bayes_min_ham_num 1
-
-
-#   Set headers which may provide inappropriate cues to the Bayesian
-#   classifier
-#
-# bayes_ignore_header X-Bogosity
-# bayes_ignore_header X-Spam-Flag
-# bayes_ignore_header X-Spam-Status
-
-
-#   Whether to decode non- UTF-8 and non-ASCII textual parts and recode
-#   them to UTF-8 before the text is given over to rules processing.
-#
-# normalize_charset 1
-
-#   Some shortcircuiting, if the plugin is enabled
-# 
-ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
-#
-#   default: strongly-whitelisted mails are *really* whitelisted now, if the
-#   shortcircuiting plugin is active, causing early exit to save CPU load.
-#   Uncomment to turn this on
-#
-# shortcircuit USER_IN_WHITELIST       on
-# shortcircuit USER_IN_DEF_WHITELIST   on
-# shortcircuit USER_IN_ALL_SPAM_TO     on
-# shortcircuit SUBJECT_IN_WHITELIST    on
-
-#   the opposite; blacklisted mails can also save CPU
-#
-# shortcircuit USER_IN_BLACKLIST       on
-# shortcircuit USER_IN_BLACKLIST_TO    on
-# shortcircuit SUBJECT_IN_BLACKLIST    on
-
-#   if you have taken the time to correctly specify your "trusted_networks",
-#   this is another good way to save CPU
-#
-# shortcircuit ALL_TRUSTED             on
-
-#   and a well-trained bayes DB can save running rules, too
-#
-# shortcircuit BAYES_99                spam
-# shortcircuit BAYES_00                ham
-
-endif # Mail::SpamAssassin::Plugin::Shortcircuit

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/rule-update.sh
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/rule-update.sh b/server/container/util/src/test/resources/docker/spamassassin/rule-update.sh
deleted file mode 100755
index 2867735..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/rule-update.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-while true; do
-    sleep 1m
-    su debian-spamd -c 'sa-update' && kill -HUP `cat /var/run/spamd.pid`
-    sleep 1d
-done

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/run.sh
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/run.sh b/server/container/util/src/test/resources/docker/spamassassin/run.sh
deleted file mode 100755
index b4a1351..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/run.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-set -m
-
-/rule-update.sh &
-/spamd.sh &
-
-pids=`jobs -p`
-
-wait

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/docker/spamassassin/spamd.sh
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/docker/spamassassin/spamd.sh b/server/container/util/src/test/resources/docker/spamassassin/spamd.sh
deleted file mode 100755
index 2093cf8..0000000
--- a/server/container/util/src/test/resources/docker/spamassassin/spamd.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-echo "Run Postgres"
-/usr/local/bin/docker-entrypoint.sh postgres &
-
-echo "Run spamd"
-spamd --username debian-spamd \
-      --nouser-config \
-      --syslog stderr \
-      --pidfile /var/run/spamd.pid \
-      --helper-home-dir /var/lib/spamassassin \
-      --ip-address \
-      --allowed-ips 0.0.0.0/0 \
-      --allow-tell \
-      --debug bayes,learn

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/eml/spam.eml
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/eml/spam.eml b/server/container/util/src/test/resources/eml/spam.eml
deleted file mode 100755
index faf3402..0000000
--- a/server/container/util/src/test/resources/eml/spam.eml
+++ /dev/null
@@ -1,152 +0,0 @@
-Return-Path: <us...@james.org>
-Subject: Fwd: Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
- (CET) (user@james.org)
-To: <us...@james.org>
-From: user <us...@james.org>
-Message-ID: <f1...@james.org>
-Date: Thu, 19 Jan 2017 20:36:37 +0100
-MIME-Version: 1.0
-In-Reply-To: <00...@google.com>
-Content-Type: multipart/mixed;
- boundary="------------17D96D411CBD55D8239A8C1F"
-
-This is a multi-part message in MIME format.
---------------17D96D411CBD55D8239A8C1F
-Content-Type: multipart/alternative;
- boundary="------------64D716A3DDAEC185D3E67448"
-
-
---------------64D716A3DDAEC185D3E67448
-Content-Type: text/plain; charset=utf-8; format=flowed
-Content-Transfer-Encoding: 8bit
-
-
-
-
--------- Message transéré --------
-Sujet : 	Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
-(CET) (user@james.org)
-Date : 	Thu, 19 Jan 2017 19:18:23 +0000
-De : 	<us...@james.org>
-Répondre à : 	user@james.org
-Pour : 	user@james.org
-
-
-
-
---------------64D716A3DDAEC185D3E67448
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-<html>
-  <head>
-
-    <meta http-equiv="content-type" content="text/html; charset=utf-8">
-  </head>
-  <body bgcolor="#FFFFFF" text="#000000">
-    <p><br>
-    </p>
-    <div class="moz-forward-container"><br>
-      <br>
-      -------- Message transéré --------
-      <table class="moz-email-headers-table" border="0" cellpadding="0"
-        cellspacing="0">
-        <tbody>
-          <tr>
-            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Sujet :
-            </th>
-            <td>Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 -
-              15:00 (CET) (<a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a>)</td>
-          </tr>
-          <tr>
-            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Date : </th>
-            <td>Thu, 19 Jan 2017 19:18:23 +0000</td>
-          </tr>
-          <tr>
-            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">De : </th>
-            <td>User <a class="moz-txt-link-rfc2396E" href="mailto:user@james.org">&lt;user@james.org&gt;</a></td>
-          </tr>
-          <tr>
-            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Répondre
-              Ã Â : </th>
-            <td><a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a></td>
-          </tr>
-          <tr>
-            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Pour : </th>
-            <td><a class="moz-txt-link-abbreviated" href="mailto:user@james.org">user@james.org</a></td>
-          </tr>
-        </tbody>
-      </table>
-      <br>
-      <br>
-    </div>
-  </body>
-</html>
-
---------------64D716A3DDAEC185D3E67448--
-
---------------17D96D411CBD55D8239A8C1F
-Content-Type: text/calendar;
- name="Portion de message joint"
-Content-Transfer-Encoding: 8bit
-Content-Disposition: attachment;
- filename="Portion de message joint"
-
-BEGIN:VCALENDAR
-PRODID:-//Google Inc//Google Calendar 70.9054//EN
-VERSION:2.0
-CALSCALE:GREGORIAN
-METHOD:REQUEST
-BEGIN:VEVENT
-DTSTART:20170120T130000Z
-DTEND:20170120T140000Z
-DTSTAMP:20170119T191823Z
-ORGANIZER;CN=User:mailto:user@james.org
-UID:ah86k5m342bmcrbe9khkkhln00@google.com
-ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
- TRUE;CN=user@james.org;X-NUM-GUESTS=0:mailto:user@james.org
-ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE
- ;CN=User;X-NUM-GUESTS=0:mailto:user@james.org
-CREATED:20170119T191823Z
-DESCRIPTION:Affichez votre evenement sur la page https://www.google.com/cal
- endar/event?action=VIEW&eid=YWg4Nms1bTM0MmJtY3JiZTlraGtraGxuMDAgYWR1cHJhdEB
- saW5hZ29yYS5jb20&tok=MTkjYW50ZHVwcmF0QGdtYWlsLmNvbTg1OTM5NWM4MGRlYmE1YTI4Nz
- RjN2UyNjU0M2YyZmQ4NzRkNThhYTQ&ctz=Europe/Paris&hl=fr.
-LAST-MODIFIED:20170119T191823Z
-LOCATION:
-SEQUENCE:0
-STATUS:CONFIRMED
-SUMMARY:
-TRANSP:OPAQUE
-END:VEVENT
-END:VCALENDAR
-
-
---------------17D96D411CBD55D8239A8C1F
-Content-Type: application/ics;
- name="invite.ics"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
- filename="invite.ics"
-
-QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vR29vZ2xlIEluYy8vR29vZ2xlIENhbGVuZGFy
-IDcwLjkwNTQvL0VODQpWRVJTSU9OOjIuMA0KQ0FMU0NBTEU6R1JFR09SSUFODQpNRVRIT0Q6
-UkVRVUVTVA0KQkVHSU46VkVWRU5UDQpEVFNUQVJUOjIwMTcwMTIwVDEzMDAwMFoNCkRURU5E
-OjIwMTcwMTIwVDE0MDAwMFoNCkRUU1RBTVA6MjAxNzAxMTlUMTkxODIzWg0KT1JHQU5JWkVS
-O0NOPUFudG9pbmUgRHVwcmF0Om1haWx0bzphbnRkdXByYXRAZ21haWwuY29tDQpVSUQ6YWg4
-Nms1bTM0MmJtY3JiZTlraGtraGxuMDBAZ29vZ2xlLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlO
-RElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT
-VlA9DQogVFJVRTtDTj1hZHVwcmF0QGxpbmFnb3JhLmNvbTtYLU5VTS1HVUVTVFM9MDptYWls
-dG86YWR1cHJhdEBsaW5hZ29yYS5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
-TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPUFDQ0VQVEVEO1JTVlA9VFJVRQ0KIDtDTj1B
-bnRvaW5lIER1cHJhdDtYLU5VTS1HVUVTVFM9MDptYWlsdG86YW50ZHVwcmF0QGdtYWlsLmNv
-bQ0KQ1JFQVRFRDoyMDE3MDExOVQxOTE4MjNaDQpERVNDUklQVElPTjpBZmZpY2hleiB2b3Ry
-ZSDDqXbDqW5lbWVudCBzdXIgbGEgcGFnZSBodHRwczovL3d3dy5nb29nbGUuY29tL2NhbA0K
-IGVuZGFyL2V2ZW50P2FjdGlvbj1WSUVXJmVpZD1ZV2c0Tm1zMWJUTTBNbUp0WTNKaVpUbHJh
-R3RyYUd4dU1EQWdZV1IxY0hKaGRFQg0KIHNhVzVoWjI5eVlTNWpiMjAmdG9rPU1Ua2pZVzUw
-WkhWd2NtRjBRR2R0WVdsc0xtTnZiVGcxT1RNNU5XTTRNR1JsWW1FMVlUSTROeg0KIFJqTjJV
-eU5qVTBNMll5Wm1RNE56UmtOVGhoWVRRJmN0ej1FdXJvcGUvUGFyaXMmaGw9ZnIuDQpMQVNU
-LU1PRElGSUVEOjIwMTcwMTE5VDE5MTgyM1oNCkxPQ0FUSU9OOg0KU0VRVUVOQ0U6MA0KU1RB
-VFVTOkNPTkZJUk1FRA0KU1VNTUFSWToNClRSQU5TUDpPUEFRVUUNCkVORDpWRVZFTlQNCkVO
-RDpWQ0FMRU5EQVINCg==
---------------17D96D411CBD55D8239A8C1F--

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham1
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham1 b/server/container/util/src/test/resources/spamassassin_db/ham/ham1
deleted file mode 100644
index c50bb11..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham1
+++ /dev/null
@@ -1,113 +0,0 @@
-From exmh-workers-admin@redhat.com  Thu Aug 22 12:36:23 2002
-Return-Path: <ex...@spamassassin.taint.org>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id D03E543C36
-	for <zz...@localhost>; Thu, 22 Aug 2002 07:36:16 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 12:36:16 +0100 (IST)
-Received: from listman.spamassassin.taint.org (listman.spamassassin.taint.org [66.187.233.211]) by
-    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g7MBYrZ04811 for
-    <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 12:34:53 +0100
-Received: from listman.spamassassin.taint.org (localhost.localdomain [127.0.0.1]) by
-    listman.redhat.com (Postfix) with ESMTP id 8386540858; Thu, 22 Aug 2002
-    07:35:02 -0400 (EDT)
-Delivered-To: exmh-workers@listman.spamassassin.taint.org
-Received: from int-mx1.corp.spamassassin.taint.org (int-mx1.corp.spamassassin.taint.org
-    [172.16.52.254]) by listman.redhat.com (Postfix) with ESMTP id 10CF8406D7
-    for <ex...@listman.redhat.com>; Thu, 22 Aug 2002 07:34:10 -0400
-    (EDT)
-Received: (from mail@localhost) by int-mx1.corp.spamassassin.taint.org (8.11.6/8.11.6)
-    id g7MBY7g11259 for exmh-workers@listman.redhat.com; Thu, 22 Aug 2002
-    07:34:07 -0400
-Received: from mx1.spamassassin.taint.org (mx1.spamassassin.taint.org [172.16.48.31]) by
-    int-mx1.corp.redhat.com (8.11.6/8.11.6) with SMTP id g7MBY7Y11255 for
-    <ex...@redhat.com>; Thu, 22 Aug 2002 07:34:07 -0400
-Received: from ratree.psu.ac.th ([202.28.97.6]) by mx1.spamassassin.taint.org
-    (8.11.6/8.11.6) with SMTP id g7MBIhl25223 for <ex...@redhat.com>;
-    Thu, 22 Aug 2002 07:18:55 -0400
-Received: from delta.cs.mu.OZ.AU (delta.coe.psu.ac.th [172.30.0.98]) by
-    ratree.psu.ac.th (8.11.6/8.11.6) with ESMTP id g7MBWel29762;
-    Thu, 22 Aug 2002 18:32:40 +0700 (ICT)
-Received: from munnari.OZ.AU (localhost [127.0.0.1]) by delta.cs.mu.OZ.AU
-    (8.11.6/8.11.6) with ESMTP id g7MBQPW13260; Thu, 22 Aug 2002 18:26:25
-    +0700 (ICT)
-From: Robert Elz <kr...@munnari.OZ.AU>
-To: Chris Garrigues <cw...@DeepEddy.Com>
-Cc: exmh-workers@spamassassin.taint.org
-Subject: Re: New Sequences Window
-In-Reply-To: <10...@deepeddy.vircio.com>
-References: <10...@deepeddy.vircio.com>
-    <10...@deepeddy.vircio.com> <96...@munnari.OZ.AU>
-    <10...@deepeddy.vircio.com>
-    <10...@deepeddy.vircio.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Message-Id: <13...@munnari.OZ.AU>
-X-Loop: exmh-workers@spamassassin.taint.org
-Sender: exmh-workers-admin@spamassassin.taint.org
-Errors-To: exmh-workers-admin@spamassassin.taint.org
-X-Beenthere: exmh-workers@spamassassin.taint.org
-X-Mailman-Version: 2.0.1
-Precedence: bulk
-List-Help: <mailto:exmh-workers-request@spamassassin.taint.org?subject=help>
-List-Post: <ma...@spamassassin.taint.org>
-List-Subscribe: <https://listman.spamassassin.taint.org/mailman/listinfo/exmh-workers>,
-    <mailto:exmh-workers-request@redhat.com?subject=subscribe>
-List-Id: Discussion list for EXMH developers <exmh-workers.spamassassin.taint.org>
-List-Unsubscribe: <https://listman.spamassassin.taint.org/mailman/listinfo/exmh-workers>,
-    <mailto:exmh-workers-request@redhat.com?subject=unsubscribe>
-List-Archive: <https://listman.spamassassin.taint.org/mailman/private/exmh-workers/>
-Date: Thu, 22 Aug 2002 18:26:25 +0700
-
-    Date:        Wed, 21 Aug 2002 10:54:46 -0500
-    From:        Chris Garrigues <cw...@DeepEddy.Com>
-    Message-ID:  <10...@deepeddy.vircio.com>
-
-
-  | I can't reproduce this error.
-
-For me it is very repeatable... (like every time, without fail).
-
-This is the debug log of the pick happening ...
-
-18:19:03 Pick_It {exec pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace} {4852-4852 -sequence mercury}
-18:19:03 exec pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace 4852-4852 -sequence mercury
-18:19:04 Ftoc_PickMsgs {{1 hit}}
-18:19:04 Marking 1 hits
-18:19:04 tkerror: syntax error in expression "int ...
-
-Note, if I run the pick command by hand ...
-
-delta$ pick +inbox -list -lbrace -lbrace -subject ftp -rbrace -rbrace  4852-4852 -sequence mercury
-1 hit
-
-That's where the "1 hit" comes from (obviously).  The version of nmh I'm
-using is ...
-
-delta$ pick -version
-pick -- nmh-1.0.4 [compiled on fuchsia.cs.mu.OZ.AU at Sun Mar 17 14:55:56 ICT 2002]
-
-And the relevant part of my .mh_profile ...
-
-delta$ mhparam pick
--seq sel -list
-
-
-Since the pick command works, the sequence (actually, both of them, the
-one that's explicit on the command line, from the search popup, and the
-one that comes from .mh_profile) do get created.
-
-kre
-
-ps: this is still using the version of the code form a day ago, I haven't
-been able to reach the cvs repository today (local routing issue I think).
-
-
-
-_______________________________________________
-Exmh-workers mailing list
-Exmh-workers@redhat.com
-https://listman.redhat.com/mailman/listinfo/exmh-workers
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham2
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham2 b/server/container/util/src/test/resources/spamassassin_db/ham/ham2
deleted file mode 100644
index 7a5b23a..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham2
+++ /dev/null
@@ -1,73 +0,0 @@
-From Steve_Burt@cursor-system.com  Thu Aug 22 12:46:39 2002
-Return-Path: <St...@cursor-system.com>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id BE12E43C34
-	for <zz...@localhost>; Thu, 22 Aug 2002 07:46:38 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 12:46:38 +0100 (IST)
-Received: from n20.grp.scd.yahoo.com (n20.grp.scd.yahoo.com
-    [66.218.66.76]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7MBkTZ05087 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 12:46:29 +0100
-X-Egroups-Return: sentto-2242572-52726-1030016790-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.67.196] by n20.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 11:46:30 -0000
-X-Sender: steve.burt@cursor-system.com
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 11:46:29 -0000
-Received: (qmail 11764 invoked from network); 22 Aug 2002 11:46:29 -0000
-Received: from unknown (66.218.66.217) by m3.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 11:46:29 -0000
-Received: from unknown (HELO mailgateway.cursor-system.com) (62.189.7.27)
-    by mta2.grp.scd.yahoo.com with SMTP; 22 Aug 2002 11:46:29 -0000
-Received: from exchange1.cps.local (unverified) by
-    mailgateway.cursor-system.com (Content Technologies SMTPRS 4.2.10) with
-    ESMTP id <T5...@mailgateway.cursor-system.com> for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 13:14:10 +0100
-Received: by exchange1.cps.local with Internet Mail Service (5.5.2653.19)
-    id <PXX6AT23>; Thu, 22 Aug 2002 12:46:27 +0100
-Message-Id: <5E...@exchange1.cps.local>
-To: "'zzzzteana@yahoogroups.com'" <zz...@yahoogroups.com>
-X-Mailer: Internet Mail Service (5.5.2653.19)
-X-Egroups-From: Steve Burt <st...@cursor-system.com>
-From: Steve Burt <St...@cursor-system.com>
-X-Yahoo-Profile: pyruse
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 12:46:18 +0100
-Subject: [zzzzteana] RE: Alexander
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-Martin A posted:
-Tassos Papadopoulos, the Greek sculptor behind the plan, judged that the
- limestone of Mount Kerdylio, 70 miles east of Salonika and not far from the
- Mount Athos monastic community, was ideal for the patriotic sculpture. 
- 
- As well as Alexander's granite features, 240 ft high and 170 ft wide, a
- museum, a restored amphitheatre and car park for admiring crowds are
-planned
----------------------
-So is this mountain limestone or granite?
-If it's limestone, it'll weather pretty fast.
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham3
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham3 b/server/container/util/src/test/resources/spamassassin_db/ham/ham3
deleted file mode 100644
index c7cfbc8..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham3
+++ /dev/null
@@ -1,82 +0,0 @@
-From timc@2ubh.com  Thu Aug 22 13:52:59 2002
-Return-Path: <ti...@2ubh.com>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 0314547C66
-	for <zz...@localhost>; Thu, 22 Aug 2002 08:52:58 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 13:52:59 +0100 (IST)
-Received: from n16.grp.scd.yahoo.com (n16.grp.scd.yahoo.com
-    [66.218.66.71]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7MCrdZ07070 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 13:53:39 +0100
-X-Egroups-Return: sentto-2242572-52733-1030020820-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.67.198] by n16.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 12:53:40 -0000
-X-Sender: timc@2ubh.com
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 12:53:39 -0000
-Received: (qmail 76099 invoked from network); 22 Aug 2002 12:53:39 -0000
-Received: from unknown (66.218.66.218) by m5.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 12:53:39 -0000
-Received: from unknown (HELO rhenium.btinternet.com) (194.73.73.93) by
-    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 12:53:39 -0000
-Received: from host217-36-23-185.in-addr.btopenworld.com ([217.36.23.185])
-    by rhenium.btinternet.com with esmtp (Exim 3.22 #8) id 17hrT0-0004gj-00
-    for forteana@yahoogroups.com; Thu, 22 Aug 2002 13:53:38 +0100
-X-Mailer: Microsoft Outlook Express Macintosh Edition - 4.5 (0410)
-To: zzzzteana <zz...@yahoogroups.com>
-X-Priority: 3
-Message-Id: <E1...@rhenium.btinternet.com>
-From: "Tim Chapman" <ti...@2ubh.com>
-X-Yahoo-Profile: tim2ubh
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 13:52:38 +0100
-Subject: [zzzzteana] Moscow bomber
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-Man Threatens Explosion In Moscow 
-
-Thursday August 22, 2002 1:40 PM
-MOSCOW (AP) - Security officers on Thursday seized an unidentified man who
-said he was armed with explosives and threatened to blow up his truck in
-front of Russia's Federal Security Services headquarters in Moscow, NTV
-television reported.
-The officers seized an automatic rifle the man was carrying, then the man
-got out of the truck and was taken into custody, NTV said. No other details
-were immediately available.
-The man had demanded talks with high government officials, the Interfax and
-ITAR-Tass news agencies said. Ekho Moskvy radio reported that he wanted to
-talk with Russian President Vladimir Putin.
-Police and security forces rushed to the Security Service building, within
-blocks of the Kremlin, Red Square and the Bolshoi Ballet, and surrounded the
-man, who claimed to have one and a half tons of explosives, the news
-agencies said. Negotiations continued for about one and a half hours outside
-the building, ITAR-Tass and Interfax reported, citing witnesses.
-The man later drove away from the building, under police escort, and drove
-to a street near Moscow's Olympic Penta Hotel, where authorities held
-further negotiations with him, the Moscow police press service said. The
-move appeared to be an attempt by security services to get him to a more
-secure location. 
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham4
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham4 b/server/container/util/src/test/resources/spamassassin_db/ham/ham4
deleted file mode 100644
index 9a726c2..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham4
+++ /dev/null
@@ -1,78 +0,0 @@
-From irregulars-admin@tb.tf  Thu Aug 22 14:23:39 2002
-Return-Path: <ir...@tb.tf>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 9DAE147C66
-	for <zz...@localhost>; Thu, 22 Aug 2002 09:23:38 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:23:38 +0100 (IST)
-Received: from web.tb.tf (route-64-131-126-36.telocity.com
-    [64.131.126.36]) by dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id
-    g7MDGOZ07922 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:16:24 +0100
-Received: from web.tb.tf (localhost.localdomain [127.0.0.1]) by web.tb.tf
-    (8.11.6/8.11.6) with ESMTP id g7MDP9I16418; Thu, 22 Aug 2002 09:25:09
-    -0400
-Received: from red.harvee.home (red [192.168.25.1] (may be forged)) by
-    web.tb.tf (8.11.6/8.11.6) with ESMTP id g7MDO4I16408 for
-    <ir...@tb.tf>; Thu, 22 Aug 2002 09:24:04 -0400
-Received: from prserv.net (out4.prserv.net [32.97.166.34]) by
-    red.harvee.home (8.11.6/8.11.6) with ESMTP id g7MDFBD29237 for
-    <ir...@tb.tf>; Thu, 22 Aug 2002 09:15:12 -0400
-Received: from [209.202.248.109]
-    (slip-32-103-249-10.ma.us.prserv.net[32.103.249.10]) by prserv.net (out4)
-    with ESMTP id <2002082213150220405qu8jce>; Thu, 22 Aug 2002 13:15:07 +0000
-MIME-Version: 1.0
-X-Sender: @ (Unverified)
-Message-Id: <p04330137b98a941c58a8@[209.202.248.109]>
-To: undisclosed-recipient: ;
-From: Monty Solomon <mo...@roscom.com>
-Content-Type: text/plain; charset="us-ascii"
-Subject: [IRR] Klez: The Virus That  Won't Die
-Sender: irregulars-admin@tb.tf
-Errors-To: irregulars-admin@tb.tf
-X-Beenthere: irregulars@tb.tf
-X-Mailman-Version: 2.0.6
-Precedence: bulk
-List-Help: <mailto:irregulars-request@tb.tf?subject=help>
-List-Post: <ma...@tb.tf>
-List-Subscribe: <http://tb.tf/mailman/listinfo/irregulars>,
-    <mailto:irregulars-request@tb.tf?subject=subscribe>
-List-Id: New home of the TBTF Irregulars mailing list <irregulars.tb.tf>
-List-Unsubscribe: <http://tb.tf/mailman/listinfo/irregulars>,
-    <mailto:irregulars-request@tb.tf?subject=unsubscribe>
-List-Archive: <http://tb.tf/mailman/private/irregulars/>
-Date: Thu, 22 Aug 2002 09:15:25 -0400
-
-Klez: The Virus That Won't Die
- 
-Already the most prolific virus ever, Klez continues to wreak havoc.
-
-Andrew Brandt
->>From the September 2002 issue of PC World magazine
-Posted Thursday, August 01, 2002
-
-
-The Klez worm is approaching its seventh month of wriggling across 
-the Web, making it one of the most persistent viruses ever. And 
-experts warn that it may be a harbinger of new viruses that use a 
-combination of pernicious approaches to go from PC to PC.
-
-Antivirus software makers Symantec and McAfee both report more than 
-2000 new infections daily, with no sign of letup at press time. The 
-British security firm MessageLabs estimates that 1 in every 300 
-e-mail messages holds a variation of the Klez virus, and says that 
-Klez has already surpassed last summer's SirCam as the most prolific 
-virus ever.
-
-And some newer Klez variants aren't merely nuisances--they can carry 
-other viruses in them that corrupt your data.
-
-...
-
-http://www.pcworld.com/news/article/0,aid,103259,00.asp
-_______________________________________________
-Irregulars mailing list
-Irregulars@tb.tf
-http://tb.tf/mailman/listinfo/irregulars
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham5
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham5 b/server/container/util/src/test/resources/spamassassin_db/ham/ham5
deleted file mode 100644
index 57b6801..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham5
+++ /dev/null
@@ -1,77 +0,0 @@
-From Stewart.Smith@ee.ed.ac.uk  Thu Aug 22 14:44:26 2002
-Return-Path: <St...@ee.ed.ac.uk>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id EC69D47C66
-	for <zz...@localhost>; Thu, 22 Aug 2002 09:44:25 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:44:25 +0100 (IST)
-Received: from n6.grp.scd.yahoo.com (n6.grp.scd.yahoo.com [66.218.66.90])
-    by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id g7MDcOZ08504 for
-    <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:38:25 +0100
-X-Egroups-Return: sentto-2242572-52736-1030023506-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.67.192] by n6.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 13:38:26 -0000
-X-Sender: Stewart.Smith@ee.ed.ac.uk
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:38:25 -0000
-Received: (qmail 48882 invoked from network); 22 Aug 2002 13:38:25 -0000
-Received: from unknown (66.218.66.218) by m10.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 13:38:25 -0000
-Received: from unknown (HELO postbox.ee.ed.ac.uk) (129.215.80.253) by
-    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:38:24 -0000
-Received: from ee.ed.ac.uk (sxs@dunblane [129.215.34.86]) by
-    postbox.ee.ed.ac.uk (8.11.0/8.11.0) with ESMTP id g7MDcNi28645 for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:38:23 +0100 (BST)
-Message-Id: <3D...@ee.ed.ac.uk>
-Organization: Scottish Microelectronics Centre
-User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.1b) Gecko/20020628
-X-Accept-Language: en, en-us
-To: zzzzteana@yahoogroups.com
-References: <3D...@localhost>
-From: Stewart Smith <St...@ee.ed.ac.uk>
-X-Yahoo-Profile: stochasticus
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 14:38:22 +0100
-Subject: Re: [zzzzteana] Nothing like mama used to make
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
->  in adding cream to spaghetti carbonara, which has the same effect on pasta as
->  making a pizza a deep-pie; 
-
-I just had to jump in here as Carbonara is one of my favourites to make and ask 
-what the hell are you supposed to use instead of cream?  I've never seen a 
-recipe that hasn't used this.  Personally I use low fat creme fraiche because it 
-works quite nicely but the only time I've seen an supposedly authentic recipe 
-for carbonara  it was identical to mine (cream, eggs and lots of fresh parmesan) 
-except for the creme fraiche.
-
-Stew
--- 
-Stewart Smith
-Scottish Microelectronics Centre, University of Edinburgh.
-http://www.ee.ed.ac.uk/~sxs/
-
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[03/24] james-project git commit: JAMES-2501 Add a missing license

Posted by bt...@apache.org.
JAMES-2501 Add a missing license


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a80003a9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a80003a9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a80003a9

Branch: refs/heads/master
Commit: a80003a9f5e8276035cc79ef0633b1bd52211df8
Parents: 241ce2d
Author: benwa <bt...@linagora.com>
Authored: Thu Jul 26 11:32:53 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:24:17 2018 +0700

----------------------------------------------------------------------
 backends-common/jpa/pom.xml | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/a80003a9/backends-common/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/jpa/pom.xml b/backends-common/jpa/pom.xml
index 2db2a06..81f04fd 100644
--- a/backends-common/jpa/pom.xml
+++ b/backends-common/jpa/pom.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[24/24] james-project git commit: JAMES-2486 Upgrade com.jayway.awaitility to org.awaitility

Posted by bt...@apache.org.
JAMES-2486 Upgrade com.jayway.awaitility to org.awaitility


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0a356975
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0a356975
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0a356975

Branch: refs/heads/master
Commit: 0a356975a595674e119eac4ed992dc123e7d3bc6
Parents: 69bb4de
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Thu Jul 19 14:24:56 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:35 2018 +0700

----------------------------------------------------------------------
 backends-common/elasticsearch/pom.xml           |  8 ++++----
 .../es/ClientProviderImplConnectionTest.java    |  3 +--
 .../backends/es/EmbeddedElasticSearch.java      |  6 +++---
 mailbox/cassandra/pom.xml                       | 10 +++++-----
 mailbox/tika/pom.xml                            | 10 +++++-----
 mpt/core/pom.xml                                |  8 ++++----
 .../james/mpt/session/ExternalSession.java      |  5 ++---
 mpt/impl/imap-mailbox/cyrus/pom.xml             |  2 +-
 .../mpt/imapmailbox/cyrus/host/Docker.java      |  3 ++-
 .../apache/james/mpt/smtp/ForwardSmtpTest.java  | 11 +++++------
 pom.xml                                         |  5 +++++
 server/container/guice/cassandra-guice/pom.xml  |  8 ++++----
 .../CassandraMailRepositoryIntegrationTest.java |  9 ++++-----
 .../java/org/apache/james/ESReporterTest.java   | 12 ++++++------
 .../guice/cassandra-ldap-guice/pom.xml          | 10 +++++-----
 .../james/CassandraLdapJamesServerTest.java     |  9 ++++-----
 server/container/guice/guice-common/pom.xml     |  8 ++++----
 server/container/guice/jpa-guice/pom.xml        |  8 ++++----
 .../org/apache/james/JPAJamesServerTest.java    |  6 +++---
 server/container/guice/jpa-smtp/pom.xml         | 20 +++++++++++++++-----
 .../apache/james/metric/es/ESReporterTest.java  |  4 ++--
 server/data/data-jmap-cassandra/pom.xml         | 10 +++++-----
 server/data/data-jmap/pom.xml                   | 10 +++++-----
 .../AbstractNotificationRegistryTest.java       |  2 +-
 ...ResolutionRemoteDeliveryIntegrationTest.java |  2 +-
 .../GatewayRemoteDeliveryIntegrationTest.java   |  3 +--
 .../james/mailets/configuration/Constants.java  | 10 +++++-----
 .../james/smtp/SmtpAuthorizedAddressesTest.java |  3 +--
 .../mailets/GroupMappingRelayTest.java          |  3 +--
 .../james/transport/mailets/amqp/AmqpRule.java  |  2 +-
 .../org/apache/james/jmap/TestingConstants.java | 11 ++++++-----
 .../jmap/VacationRelayIntegrationTest.java      |  2 +-
 .../integration/ForwardIntegrationTest.java     |  8 ++++----
 .../integration/SetMessagesMethodTest.java      |  2 +-
 .../integration/SpamAssassinContract.java       |  2 +-
 server/protocols/jmap/pom.xml                   | 10 +++++-----
 server/queue/queue-rabbitmq/pom.xml             |  8 ++++----
 .../queue/rabbitmq/RabbitMQClusterTest.java     |  4 ++--
 .../james/queue/rabbitmq/RabbitMQFixture.java   | 10 +++++-----
 server/testing/pom.xml                          |  8 ++++----
 .../java/org/apache/james/utils/FakeSmtp.java   |  2 +-
 .../apache/james/utils/IMAPMessageReader.java   |  2 +-
 42 files changed, 144 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/backends-common/elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/pom.xml b/backends-common/elasticsearch/pom.xml
index cd5a0bf..6d8d071 100644
--- a/backends-common/elasticsearch/pom.xml
+++ b/backends-common/elasticsearch/pom.xml
@@ -49,10 +49,6 @@
             <artifactId>throwing-lambdas</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>
@@ -62,6 +58,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.elasticsearch</groupId>
             <artifactId>elasticsearch</artifactId>
             <version>2.2.1</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
index 7ff3b74..aa0a8e9 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ClientProviderImplConnectionTest.java
@@ -22,6 +22,7 @@ package org.apache.james.backends.es;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.james.util.docker.SwarmGenericContainer;
+import org.awaitility.Awaitility;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.Ignore;
@@ -30,8 +31,6 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.jayway.awaitility.Awaitility;
-
 @Ignore("JAMES-1952")
 public class ClientProviderImplConnectionTest {
     private static final Logger LOGGER = LoggerFactory.getLogger(ClientProviderImplConnectionTest.class);

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/EmbeddedElasticSearch.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/EmbeddedElasticSearch.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/EmbeddedElasticSearch.java
index 721d9e7..3bca71c 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/EmbeddedElasticSearch.java
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/EmbeddedElasticSearch.java
@@ -19,13 +19,15 @@
 
 package org.apache.james.backends.es;
 
-import static com.jayway.awaitility.Awaitility.await;
+import static org.awaitility.Awaitility.await;
 import static org.elasticsearch.node.NodeBuilder.nodeBuilder;
 
 import java.io.IOException;
 import java.nio.file.Path;
 import java.util.function.Supplier;
 
+import org.awaitility.Duration;
+import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
 import org.elasticsearch.action.admin.indices.flush.FlushAction;
 import org.elasticsearch.action.admin.indices.flush.FlushRequestBuilder;
 import org.elasticsearch.client.Client;
@@ -34,8 +36,6 @@ import org.elasticsearch.node.Node;
 import org.junit.rules.ExternalResource;
 import org.junit.rules.TemporaryFolder;
 
-import com.jayway.awaitility.Duration;
-
 public class EmbeddedElasticSearch extends ExternalResource {
     private final Supplier<Path> folder;
     private Node node;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mailbox/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml
index fb2f3c9..dd20476 100644
--- a/mailbox/cassandra/pom.xml
+++ b/mailbox/cassandra/pom.xml
@@ -115,11 +115,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -148,6 +143,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mailbox/tika/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tika/pom.xml b/mailbox/tika/pom.xml
index a4936fd..fc595d8 100644
--- a/mailbox/tika/pom.xml
+++ b/mailbox/tika/pom.xml
@@ -68,11 +68,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>
@@ -97,6 +92,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mpt/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/core/pom.xml b/mpt/core/pom.xml
index bb4a86d..1ebad5a 100644
--- a/mpt/core/pom.xml
+++ b/mpt/core/pom.xml
@@ -36,10 +36,6 @@
             <artifactId>apache-james-mailbox-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
@@ -67,6 +63,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
index 72b85b1..c9981c7 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
@@ -29,9 +29,8 @@ import org.apache.commons.lang3.NotImplementedException;
 import org.apache.commons.lang3.mutable.MutableInt;
 import org.apache.james.mpt.api.Monitor;
 import org.apache.james.mpt.api.Session;
-
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
 
 public final class ExternalSession implements Session {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mpt/impl/imap-mailbox/cyrus/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/pom.xml b/mpt/impl/imap-mailbox/cyrus/pom.xml
index e29e5c8..a6d4385 100644
--- a/mpt/impl/imap-mailbox/cyrus/pom.xml
+++ b/mpt/impl/imap-mailbox/cyrus/pom.xml
@@ -36,7 +36,7 @@
             <artifactId>apache-james-mpt-imapmailbox-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
+            <groupId>org.awaitility</groupId>
             <artifactId>awaitility</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
index 0eeb63a..f79cb88 100644
--- a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
+++ b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
@@ -23,9 +23,10 @@ import java.net.Socket;
 import java.net.UnknownHostException;
 import java.util.concurrent.TimeUnit;
 
+import org.awaitility.Awaitility;
+
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
-import com.jayway.awaitility.Awaitility;
 import com.spotify.docker.client.DefaultDockerClient;
 import com.spotify.docker.client.exceptions.DockerException;
 import com.spotify.docker.client.messages.ContainerConfig;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
----------------------------------------------------------------------
diff --git a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
index 174d6df..e30d555 100644
--- a/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
+++ b/mpt/impl/smtp/core/src/main/java/org/apache/james/mpt/smtp/ForwardSmtpTest.java
@@ -18,22 +18,21 @@
  ****************************************************************/
 package org.apache.james.mpt.smtp;
 
-import static com.jayway.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
-import static com.jayway.awaitility.Duration.ONE_MINUTE;
+import static org.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
+import static org.awaitility.Duration.ONE_MINUTE;
 import static org.hamcrest.Matchers.equalTo;
 
 import java.util.Locale;
 
 import org.apache.james.mpt.script.SimpleScriptedTestProtocol;
 import org.apache.james.utils.FakeSmtp;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
-
 public abstract class ForwardSmtpTest {
 
     public static final String USER = "bob";

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 06ab442..3ef1c08 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2289,6 +2289,11 @@
                 <version>3.2.0</version>
             </dependency>
             <dependency>
+                <groupId>org.awaitility</groupId>
+                <artifactId>awaitility</artifactId>
+                <version>3.1.1</version>
+            </dependency>
+            <dependency>
                 <groupId>org.bouncycastle</groupId>
                 <artifactId>bcmail-jdk15on</artifactId>
                 <version>1.60</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/cassandra-guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/pom.xml b/server/container/guice/cassandra-guice/pom.xml
index d0c4100..77bd32b 100644
--- a/server/container/guice/cassandra-guice/pom.xml
+++ b/server/container/guice/cassandra-guice/pom.xml
@@ -237,10 +237,6 @@
             <artifactId>logback-elasticsearch-appender</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.nurkiewicz.asyncretry</groupId>
             <artifactId>asyncretry</artifactId>
         </dependency>
@@ -260,6 +256,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.hdrhistogram</groupId>
             <artifactId>HdrHistogram</artifactId>
             <version>2.1.4</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java
index f935d38..3be4457 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james;
 
-import static com.jayway.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
+import static org.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
 
 import java.util.concurrent.TimeUnit;
 
@@ -27,16 +27,15 @@ import org.apache.james.mailrepository.api.MailRepositoryUrl;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.MailRepositoryProbeImpl;
 import org.apache.james.utils.SMTPMessageSender;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
-
 public class CassandraMailRepositoryIntegrationTest {
 
     private static final MailRepositoryUrl SENDER_DENIED_URL = MailRepositoryUrl.from("cassandra://var/mail/sender-denied/");

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
index d598ed3..d9b709c 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
@@ -18,12 +18,16 @@
  ****************************************************************/
 package org.apache.james;
 
-import static com.jayway.awaitility.Awaitility.await;
 import static io.restassured.RestAssured.given;
 import static io.restassured.config.EncoderConfig.encoderConfig;
 import static io.restassured.config.RestAssuredConfig.newConfig;
 import static org.apache.james.jmap.HttpJmapAuthentication.authenticateJamesUser;
 import static org.apache.james.jmap.JmapURIBuilder.baseUri;
+import static org.awaitility.Awaitility.await;
+
+import io.restassured.RestAssured;
+import io.restassured.builder.RequestSpecBuilder;
+import io.restassured.http.ContentType;
 
 import java.net.InetAddress;
 import java.nio.charset.StandardCharsets;
@@ -37,6 +41,7 @@ import org.apache.james.jmap.api.access.AccessToken;
 import org.apache.james.modules.TestESMetricReporterModule;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.JmapGuiceProbe;
+import org.awaitility.Duration;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.After;
@@ -47,11 +52,6 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.jayway.awaitility.Duration;
-import io.restassured.RestAssured;
-import io.restassured.builder.RequestSpecBuilder;
-import io.restassured.http.ContentType;
-
 public class ESReporterTest {
 
     private static final int IMAP_PORT = 1143;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/cassandra-ldap-guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-ldap-guice/pom.xml b/server/container/guice/cassandra-ldap-guice/pom.xml
index 9ce1c8e..30b5382 100644
--- a/server/container/guice/cassandra-ldap-guice/pom.xml
+++ b/server/container/guice/cassandra-ldap-guice/pom.xml
@@ -109,11 +109,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>io.rest-assured</groupId>
             <artifactId>rest-assured</artifactId>
             <scope>test</scope>
@@ -124,6 +119,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.junit.platform</groupId>
             <artifactId>junit-platform-launcher</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java
index 723f357..5954d0d 100644
--- a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java
+++ b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.james;
 
-import static com.jayway.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
 
 import java.io.IOException;
 
@@ -30,14 +30,13 @@ import org.apache.james.user.ldap.LdapGenericContainer;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
 import org.apache.james.utils.SpoolerProbe;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.RuleChain;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
-
 public class CassandraLdapJamesServerTest extends AbstractJmapJamesServerTest {
     private static final String JAMES_USER = "james-user";
     private static final String PASSWORD = "secret";

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/guice-common/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/pom.xml b/server/container/guice/guice-common/pom.xml
index 74664c2..6d33d6d 100644
--- a/server/container/guice/guice-common/pom.xml
+++ b/server/container/guice/guice-common/pom.xml
@@ -181,10 +181,6 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.nurkiewicz.asyncretry</groupId>
             <artifactId>asyncretry</artifactId>
         </dependency>
@@ -199,6 +195,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/jpa-guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-guice/pom.xml b/server/container/guice/jpa-guice/pom.xml
index db9c1da..8c23831 100644
--- a/server/container/guice/jpa-guice/pom.xml
+++ b/server/container/guice/jpa-guice/pom.xml
@@ -155,10 +155,6 @@
             <artifactId>logback-elasticsearch-appender</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.nurkiewicz.asyncretry</groupId>
             <artifactId>asyncretry</artifactId>
         </dependency>
@@ -178,6 +174,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java
index 75c7c6b..fac0a80 100644
--- a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java
+++ b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java
@@ -30,14 +30,14 @@ import org.apache.james.server.core.configuration.Configuration;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
 import com.google.common.base.Strings;
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
 
 public class JPAJamesServerTest extends AbstractJamesServerTest {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/guice/jpa-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp/pom.xml b/server/container/guice/jpa-smtp/pom.xml
index 4144d06..7732821 100644
--- a/server/container/guice/jpa-smtp/pom.xml
+++ b/server/container/guice/jpa-smtp/pom.xml
@@ -68,11 +68,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>io.rest-assured</groupId>
             <artifactId>rest-assured</artifactId>
             <scope>test</scope>
@@ -94,6 +89,21 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.junit.platform</groupId>
+            <artifactId>junit-platform-launcher</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
----------------------------------------------------------------------
diff --git a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
index 14edded..bd85668 100644
--- a/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
+++ b/server/container/metrics/metrics-es-reporter/src/test/java/org/apache/james/metric/es/ESReporterTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.metric.es;
 
-import static com.jayway.awaitility.Awaitility.await;
+import static org.awaitility.Awaitility.await;
 
 import java.util.Timer;
 import java.util.TimerTask;
@@ -33,6 +33,7 @@ import org.apache.james.metrics.es.ESMetricReporter;
 import org.apache.james.metrics.es.ESReporterConfiguration;
 import org.apache.james.util.docker.Images;
 import org.apache.james.util.docker.SwarmGenericContainer;
+import org.awaitility.Duration;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.After;
@@ -41,7 +42,6 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import com.codahale.metrics.MetricRegistry;
-import com.jayway.awaitility.Duration;
 
 public class ESReporterTest {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/data/data-jmap-cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jmap-cassandra/pom.xml b/server/data/data-jmap-cassandra/pom.xml
index 472bcda..201c98b 100644
--- a/server/data/data-jmap-cassandra/pom.xml
+++ b/server/data/data-jmap-cassandra/pom.xml
@@ -59,11 +59,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>
@@ -78,6 +73,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/data/data-jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jmap/pom.xml b/server/data/data-jmap/pom.xml
index d3583b8..a859470 100644
--- a/server/data/data-jmap/pom.xml
+++ b/server/data/data-jmap/pom.xml
@@ -51,11 +51,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>
@@ -74,6 +69,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
index 111ecab..029405e 100644
--- a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.jmap.api.vacation;
 
-import static com.jayway.awaitility.Awaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
index 27058f5..f48587f 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
@@ -46,6 +46,7 @@ import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.FakeSmtp;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
+import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
@@ -53,7 +54,6 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
 import com.google.common.collect.ImmutableList;
-import com.jayway.awaitility.Duration;
 
 public class DirectResolutionRemoteDeliveryIntegrationTest {
     private static final String JAMES_ANOTHER_DOMAIN = "james.com";

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
index d9e6bab..9da3345 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
@@ -43,14 +43,13 @@ import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.FakeSmtp;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
+import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import com.jayway.awaitility.Duration;
-
 public class GatewayRemoteDeliveryIntegrationTest {
     private static final String JAMES_ANOTHER_DOMAIN = "james.com";
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/Constants.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/Constants.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/Constants.java
index 813b3ca..ee95d3e 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/Constants.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/configuration/Constants.java
@@ -19,14 +19,14 @@
 
 package org.apache.james.mailets.configuration;
 
-import static com.jayway.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
-import static com.jayway.awaitility.Duration.ONE_MINUTE;
+import static org.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
+import static org.awaitility.Duration.ONE_MINUTE;
 
 import java.util.concurrent.TimeUnit;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 
 public class Constants {
     public static Duration slowPacedPollInterval = ONE_HUNDRED_MILLISECONDS;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
index 8d7d661..1248a04 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpAuthorizedAddressesTest.java
@@ -44,14 +44,13 @@ import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.SMTPMessageSender;
 import org.apache.james.utils.SMTPSendingException;
 import org.apache.james.utils.SmtpSendingStep;
+import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import com.jayway.awaitility.Duration;
-
 public class SmtpAuthorizedAddressesTest {
     private static final String FROM = "fromuser@" + DEFAULT_DOMAIN;
     private static final String TO = "to@any.com";

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
index 62a295c..b9842a1 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/GroupMappingRelayTest.java
@@ -49,14 +49,13 @@ import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.WebAdminUtils;
 import org.apache.james.webadmin.routes.GroupsRoutes;
 import org.apache.mailet.base.test.FakeMail;
+import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import com.jayway.awaitility.Duration;
-
 import io.restassured.specification.RequestSpecification;
 
 public class GroupMappingRelayTest {

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
index 8198236..1527888 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/amqp/AmqpRule.java
@@ -26,9 +26,9 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
 import org.apache.james.util.docker.SwarmGenericContainer;
+import org.awaitility.Awaitility;
 import org.junit.rules.ExternalResource;
 
-import com.jayway.awaitility.Awaitility;
 import com.rabbitmq.client.BuiltinExchangeType;
 import com.rabbitmq.client.Channel;
 import com.rabbitmq.client.Connection;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/TestingConstants.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/TestingConstants.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/TestingConstants.java
index 3b756fd..bb9705a 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/TestingConstants.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/TestingConstants.java
@@ -22,14 +22,15 @@ package org.apache.james.jmap;
 import static io.restassured.config.EncoderConfig.encoderConfig;
 import static io.restassured.config.RestAssuredConfig.newConfig;
 
+import io.restassured.builder.RequestSpecBuilder;
+import io.restassured.http.ContentType;
+
 import java.nio.charset.StandardCharsets;
 import java.util.concurrent.TimeUnit;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
-import io.restassured.builder.RequestSpecBuilder;
-import io.restassured.http.ContentType;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 
 public interface TestingConstants {
     Duration slowPacedPollInterval = Duration.ONE_HUNDRED_MILLISECONDS;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
index 903e47e..050f9e0 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/VacationRelayIntegrationTest.java
@@ -19,11 +19,11 @@
 
 package org.apache.james.jmap;
 
-import static com.jayway.awaitility.Duration.ONE_MINUTE;
 import static org.apache.james.jmap.TestingConstants.DOMAIN;
 import static org.apache.james.jmap.TestingConstants.LOCALHOST_IP;
 import static org.apache.james.jmap.TestingConstants.SMTP_PORT;
 import static org.apache.james.jmap.TestingConstants.calmlyAwait;
+import static org.awaitility.Duration.ONE_MINUTE;
 import static org.hamcrest.Matchers.equalTo;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
index 1befee7..00264be 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
@@ -39,6 +39,9 @@ import static org.apache.james.jmap.TestingConstants.jmapRequestSpecBuilder;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.hasSize;
 
+import io.restassured.RestAssured;
+import io.restassured.specification.RequestSpecification;
+
 import java.io.IOException;
 import java.util.concurrent.TimeUnit;
 
@@ -50,15 +53,12 @@ import org.apache.james.utils.JmapGuiceProbe;
 import org.apache.james.utils.SMTPMessageSender;
 import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.WebAdminUtils;
+import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import com.jayway.awaitility.Duration;
-import io.restassured.RestAssured;
-import io.restassured.specification.RequestSpecification;
-
 public abstract class ForwardIntegrationTest {
 
     @Rule

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
index 43be5d0..6f100b2 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
@@ -112,6 +112,7 @@ import org.apache.james.utils.MessageIdProbe;
 import org.apache.james.utils.SMTPMessageSender;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
+import org.awaitility.Duration;
 import org.hamcrest.Matcher;
 import org.hamcrest.Matchers;
 import org.junit.After;
@@ -122,7 +123,6 @@ import org.junit.Test;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteStreams;
-import com.jayway.awaitility.Duration;
 
 import io.restassured.RestAssured;
 import io.restassured.builder.RequestSpecBuilder;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinContract.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinContract.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinContract.java
index c07e0ec..dfcbdda 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinContract.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinContract.java
@@ -43,10 +43,10 @@ import org.apache.james.mailbox.Role;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.IMAPMessageReader;
 import org.apache.james.utils.JmapGuiceProbe;
+import org.awaitility.Duration;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import com.jayway.awaitility.Duration;
 import io.restassured.RestAssured;
 import io.restassured.builder.RequestSpecBuilder;
 import io.restassured.http.ContentType;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/protocols/jmap/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml
index 7a39157..31e1ec8 100644
--- a/server/protocols/jmap/pom.xml
+++ b/server/protocols/jmap/pom.xml
@@ -200,11 +200,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>com.jayway.jsonpath</groupId>
             <artifactId>json-path</artifactId>
             <scope>test</scope>
@@ -252,6 +247,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.bouncycastle</groupId>
             <artifactId>bcpkix-jdk15on</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/queue/queue-rabbitmq/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/pom.xml b/server/queue/queue-rabbitmq/pom.xml
index 7ad50f8..3f7e708 100644
--- a/server/queue/queue-rabbitmq/pom.xml
+++ b/server/queue/queue-rabbitmq/pom.xml
@@ -57,10 +57,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.rabbitmq</groupId>
             <artifactId>amqp-client</artifactId>
         </dependency>
@@ -70,6 +66,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
index 63146a9..f03b646 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQClusterTest.java
@@ -37,6 +37,8 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.IntStream;
 
 import org.apache.james.queue.rabbitmq.DockerClusterRabbitMQExtension.DockerRabbitMQCluster;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
@@ -50,8 +52,6 @@ import org.testcontainers.shaded.com.google.common.collect.ImmutableMap;
 import com.github.fge.lambdas.Throwing;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.collect.ImmutableList;
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
 import com.rabbitmq.client.Address;
 import com.rabbitmq.client.Channel;
 import com.rabbitmq.client.Connection;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQFixture.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQFixture.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQFixture.java
index 3ed6237..d13523f 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQFixture.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQFixture.java
@@ -19,12 +19,12 @@
 
 package org.apache.james.queue.rabbitmq;
 
-import static com.jayway.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
-import static com.jayway.awaitility.Duration.ONE_MINUTE;
+import static org.awaitility.Duration.FIVE_HUNDRED_MILLISECONDS;
+import static org.awaitility.Duration.ONE_MINUTE;
 
-import com.jayway.awaitility.Awaitility;
-import com.jayway.awaitility.Duration;
-import com.jayway.awaitility.core.ConditionFactory;
+import org.awaitility.Awaitility;
+import org.awaitility.Duration;
+import org.awaitility.core.ConditionFactory;
 import com.rabbitmq.client.AMQP;
 
 public class RabbitMQFixture {

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/testing/pom.xml
----------------------------------------------------------------------
diff --git a/server/testing/pom.xml b/server/testing/pom.xml
index 87aec19..50623d2 100644
--- a/server/testing/pom.xml
+++ b/server/testing/pom.xml
@@ -46,10 +46,6 @@
             <type>test-jar</type>
         </dependency>
         <dependency>
-            <groupId>com.jayway.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
@@ -63,6 +59,10 @@
             <version>3.6.1</version>
         </dependency>
         <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+        </dependency>
+        <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java b/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java
index 1f5f042..167a0a7 100644
--- a/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java
+++ b/server/testing/src/main/java/org/apache/james/utils/FakeSmtp.java
@@ -28,12 +28,12 @@ import java.util.function.Function;
 
 import org.apache.james.util.docker.Images;
 import org.apache.james.util.docker.SwarmGenericContainer;
+import org.awaitility.core.ConditionFactory;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy;
 
-import com.jayway.awaitility.core.ConditionFactory;
 import io.restassured.builder.RequestSpecBuilder;
 import io.restassured.builder.ResponseSpecBuilder;
 import io.restassured.http.ContentType;

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a356975/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
----------------------------------------------------------------------
diff --git a/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java b/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
index b03492c..078b583 100644
--- a/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
+++ b/server/testing/src/main/java/org/apache/james/utils/IMAPMessageReader.java
@@ -24,11 +24,11 @@ import java.io.IOException;
 import java.util.List;
 
 import org.apache.commons.net.imap.IMAPClient;
+import org.awaitility.core.ConditionFactory;
 import org.junit.rules.ExternalResource;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Splitter;
-import com.jayway.awaitility.core.ConditionFactory;
 
 public class IMAPMessageReader extends ExternalResource implements Closeable {
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[15/24] james-project git commit: JAMES-2486 Update dnsjava

Posted by bt...@apache.org.
JAMES-2486 Update dnsjava


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/63dca36d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/63dca36d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/63dca36d

Branch: refs/heads/master
Commit: 63dca36d5baf6d93e5d7a4cd4c0e5a1a918ec34d
Parents: 0c641e7
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Tue Jul 17 16:53:54 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml                                         |  2 +-
 .../main/licensing/app/license-for-binary.txt   | 51 ++++++++++----------
 server/app/src/main/licensing/app/licensing.xml |  6 +--
 server/app/src/main/licensing/war/LICENSE       | 49 +++++++++----------
 server/app/src/main/licensing/war/licensing.xml |  4 +-
 .../features/src/main/resources/features.xml    |  8 +--
 6 files changed, 59 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1ba0db8..19bf0fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -608,7 +608,7 @@
         <servlet-api.version>2.4</servlet-api.version>
         <commons-logging.version>1.1.1</commons-logging.version>
 
-        <dnsjava.version>2.1.1</dnsjava.version>
+        <dnsjava.version>2.1.8</dnsjava.version>
         <junit.version>4.12</junit.version>
         <junit.jupiter.version>5.0.2</junit.jupiter.version>
         <junit.plateform.version>1.0.2</junit.plateform.version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/server/app/src/main/licensing/app/license-for-binary.txt
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/app/license-for-binary.txt b/server/app/src/main/licensing/app/license-for-binary.txt
index aeb5951..682a01f 100644
--- a/server/app/src/main/licensing/app/license-for-binary.txt
+++ b/server/app/src/main/licensing/app/license-for-binary.txt
@@ -372,39 +372,38 @@ Within the lib directory
         from OW2  http://www.ow2.org/ 
             asm-3.1.jar
 
-    licensed under the BSD (3-clause) http://www.opensource.org/licenses/BSD-3-Clause  (as follows)
+    licensed under the BSD (2-clause) http://www.opensource.org/licenses/BSD-2-Clause  (as follows)
 
             dnsjava is placed under the BSD license.  Several files are also under
             additional licenses; see the individual files for details.
             
-            Copyright (c) 1999-2005, Brian Wellington
-            All rights reserved. 
-            
+            Copyright (c) 1998-2011, Brian Wellington.
+            All rights reserved.
+
             Redistribution and use in source and binary forms, with or without
             modification, are permitted provided that the following conditions are met:
-            
-               * Redistributions of source code must retain the above copyright notice,
-                 this list of conditions and the following disclaimer.
-               * Redistributions in binary form must reproduce the above copyright notice,
-                 this list of conditions and the following disclaimer in the documentation
-                 and/or other materials provided with the distribution.
-               * Neither the name of the dnsjava project nor the names of its contributors
-                 may be used to endorse or promote products derived from this software
-                 without specific prior written permission.
-            
-            THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-            ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-            WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-            DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-            ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-            (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-            LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-            ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-            (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-            SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+              * Redistributions of source code must retain the above copyright notice,
+                this list of conditions and the following disclaimer.
+
+              * Redistributions in binary form must reproduce the above copyright notice,
+                this list of conditions and the following disclaimer in the documentation
+                and/or other materials provided with the distribution.
+
+            THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+            AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+            IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+            ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+            LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+            CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+            SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+            INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+            CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+            ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+            POSSIBILITY OF SUCH DAMAGE.
                             
         from Brian Wellington 
-            dnsjava-2.1.1.jar
+            dnsjava-2.1.8.jar
 
     licensed under the BSD (3-clause) http://www.opensource.org/licenses/BSD-3-Clause  (as follows)
 
@@ -1137,4 +1136,4 @@ Within the lib directory
 
         from JETM  http://jetm.void.fm
             jetm-1.2.3.jar
-            jetm-optional-1.2.3.jar
\ No newline at end of file
+            jetm-optional-1.2.3.jar

http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/server/app/src/main/licensing/app/licensing.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/app/licensing.xml b/server/app/src/main/licensing/app/licensing.xml
index c21773d..741e4be 100644
--- a/server/app/src/main/licensing/app/licensing.xml
+++ b/server/app/src/main/licensing/app/licensing.xml
@@ -1419,12 +1419,12 @@ All rights reserved.
                 <resource name='bcprov-jdk15-1.45.jar'/>
             </by-organisation>
         </with-license>
-        <with-license id='BSD3Clause'>
+        <with-license id='BSD2Clause'>
             <copyright-notice>
 dnsjava is placed under the BSD license.  Several files are also under
 additional licenses; see the individual files for details.
 
-Copyright (c) 1999-2005, Brian Wellington
+Copyright (c) 1999-2011, Brian Wellington
 All rights reserved.
             </copyright-notice>
             <license-parameters>
@@ -1434,7 +1434,7 @@ All rights reserved.
                 </parameter>
             </license-parameters>
             <by-organisation id='person:Brian.Wellington'>
-                <resource name='dnsjava-2.1.1.jar'/>
+                <resource name='dnsjava-2.1.8.jar'/>
             </by-organisation>
         </with-license>
         <with-license id='BSD3Clause'>

http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/server/app/src/main/licensing/war/LICENSE
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/war/LICENSE b/server/app/src/main/licensing/war/LICENSE
index 094ca05..63641f0 100644
--- a/server/app/src/main/licensing/war/LICENSE
+++ b/server/app/src/main/licensing/war/LICENSE
@@ -247,39 +247,38 @@ Within the WEB-INF/lib directory
         from OW2  http://www.ow2.org/ 
             asm-3.1.jar
 
-    licensed under the BSD (3-clause) http://www.opensource.org/licenses/BSD-3-Clause  (as follows)
+    licensed under the BSD (2-clause) http://www.opensource.org/licenses/BSD-2-Clause  (as follows)
 
             dnsjava is placed under the BSD license.  Several files are also under
             additional licenses; see the individual files for details.
             
-            Copyright (c) 1999-2005, Brian Wellington
-            All rights reserved. 
-            
+            Copyright (c) 1998-2011, Brian Wellington.
+            All rights reserved.
+
             Redistribution and use in source and binary forms, with or without
             modification, are permitted provided that the following conditions are met:
-            
-               * Redistributions of source code must retain the above copyright notice,
-                 this list of conditions and the following disclaimer.
-               * Redistributions in binary form must reproduce the above copyright notice,
-                 this list of conditions and the following disclaimer in the documentation
-                 and/or other materials provided with the distribution.
-               * Neither the name of the dnsjava project nor the names of its contributors
-                 may be used to endorse or promote products derived from this software
-                 without specific prior written permission.
-            
-            THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-            ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-            WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-            DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-            ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-            (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-            LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-            ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-            (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-            SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+              * Redistributions of source code must retain the above copyright notice,
+                this list of conditions and the following disclaimer.
+
+              * Redistributions in binary form must reproduce the above copyright notice,
+                this list of conditions and the following disclaimer in the documentation
+                and/or other materials provided with the distribution.
+
+            THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+            AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+            IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+            ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+            LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+            CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+            SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+            INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+            CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+            ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+            POSSIBILITY OF SUCH DAMAGE.
                             
         from Brian Wellington 
-            dnsjava-2.1.1.jar
+            dnsjava-2.1.8.jar
 
     licensed under the BSD (3-clause) http://www.opensource.org/licenses/BSD-3-Clause  (as follows)
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/server/app/src/main/licensing/war/licensing.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/licensing/war/licensing.xml b/server/app/src/main/licensing/war/licensing.xml
index 44d7dbc..27ffdbc 100644
--- a/server/app/src/main/licensing/war/licensing.xml
+++ b/server/app/src/main/licensing/war/licensing.xml
@@ -1369,7 +1369,7 @@ All rights reserved.
 dnsjava is placed under the BSD license.  Several files are also under
 additional licenses; see the individual files for details.
 
-Copyright (c) 1999-2005, Brian Wellington
+Copyright (c) 1999-2011, Brian Wellington
 All rights reserved.
             </copyright-notice>
             <license-parameters>
@@ -1379,7 +1379,7 @@ All rights reserved.
                 </parameter>
             </license-parameters>
             <by-organisation id='person:Brian.Wellington'>
-                <resource name='dnsjava-2.1.1.jar'/>
+                <resource name='dnsjava-2.1.8.jar'/>
             </by-organisation>
         </with-license>
         <with-license id='BSD3Clause'>

http://git-wip-us.apache.org/repos/asf/james-project/blob/63dca36d/server/karaf/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/server/karaf/features/src/main/resources/features.xml b/server/karaf/features/src/main/resources/features.xml
index bce8f36..25b8716 100644
--- a/server/karaf/features/src/main/resources/features.xml
+++ b/server/karaf/features/src/main/resources/features.xml
@@ -74,14 +74,14 @@
         <feature version="${spring.version}">spring31</feature>
     </feature>
 
-    <feature name="dnsjava-2.1.1" version="2.1.1">
+    <feature name="dnsjava-2.1.8" version="2.1.8">
         <bundle dependency="true">mvn:dnsjava/dnsjava/${dnsjava.version}</bundle>
         <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.junit/4.11_1</bundle>
     </feature>
 
     <feature name="james-server-dnsservice-dnsjava" version="${project.version}">
         <feature>commons-configuration</feature>
-        <feature>dnsjava-2.1.1</feature>
+        <feature>dnsjava-2.1.8</feature>
         <feature>james-server-dnsservice-library</feature>
         <bundle dependency="true">mvn:org.apache.james/james-server-dnsservice-api/${project.version}</bundle>
         <bundle dependency="true">mvn:org.apache.james/james-server-dnsservice-dnsjava/${project.version}</bundle>
@@ -93,7 +93,7 @@
     </feature>
 
     <feature name="james-server-dnsservice-library" version="${project.version}">
-        <feature>dnsjava-2.1.1</feature>
+        <feature>dnsjava-2.1.8</feature>
         <bundle dependency="true">mvn:org.apache.james/james-server-dnsservice-library/${project.version}</bundle>
         <bundle dependency="true">mvn:org.apache.james/james-server-dnsservice-api/${project.version}</bundle>
         <bundle dependency="true">mvn:org.apache.james/apache-mailet-api/${mailet.version}</bundle>
@@ -339,4 +339,4 @@
         <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>
     </feature>
 
-</features>
\ No newline at end of file
+</features>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[16/24] james-project git commit: JAMES-2486 Update com.github.dpaukov

Posted by bt...@apache.org.
JAMES-2486 Update com.github.dpaukov


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6763e322
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6763e322
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6763e322

Branch: refs/heads/master
Commit: 6763e32268ebe59eb47d1bbec5ab00bd3d9b36d8
Parents: 63dca36
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Tue Jul 17 18:08:53 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/6763e322/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 19bf0fc..8ff2e7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1684,7 +1684,7 @@
             <dependency>
                 <groupId>com.github.dpaukov</groupId>
                 <artifactId>combinatoricslib3</artifactId>
-                <version>3.2.0</version>
+                <version>3.3.0</version>
             </dependency>
             <dependency>
                 <groupId>com.github.fge</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[11/24] james-project git commit: JAMES-2493 remove duplicate dependencies

Posted by bt...@apache.org.
JAMES-2493 remove duplicate dependencies


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5f014390
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5f014390
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5f014390

Branch: refs/heads/master
Commit: 5f01439096bf063dc7438d45bbe53a9006e92b29
Parents: 2135e5e
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:00:43 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 mailbox/tool/pom.xml | 6 ------
 1 file changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/5f014390/mailbox/tool/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tool/pom.xml b/mailbox/tool/pom.xml
index b5525d1..3e4fdd2 100644
--- a/mailbox/tool/pom.xml
+++ b/mailbox/tool/pom.xml
@@ -48,12 +48,6 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-api</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-mailbox-memory</artifactId>
         </dependency>
         <dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[14/24] james-project git commit: JAMES-2493 try to drop commons-logging

Posted by bt...@apache.org.
JAMES-2493 try to drop commons-logging


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2135e5ee
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2135e5ee
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2135e5ee

Branch: refs/heads/master
Commit: 2135e5ee17ea8ef2d2f3b2e31e1c7d29812d982d
Parents: fa76974
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Jul 25 15:00:19 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:22 2018 +0700

----------------------------------------------------------------------
 backends-common/cassandra/pom.xml               |  4 ++
 mailbox/plugin/quota-mailing/pom.xml            |  4 ++
 mailbox/scanning-search/pom.xml                 |  4 ++
 mailbox/spring/pom.xml                          |  4 ++
 mailbox/tika/pom.xml                            | 10 ++++
 mpt/core/pom.xml                                |  4 --
 mpt/impl/imap-mailbox/cyrus/pom.xml             |  6 ++
 pom.xml                                         | 62 ++++++++++++++++++++
 protocols/api/pom.xml                           |  4 ++
 .../container/guice/es-metric-reporter/pom.xml  |  4 ++
 .../guice/mailbox-plugin-spamassassin/pom.xml   |  4 ++
 server/container/jetty/pom.xml                  |  4 ++
 server/container/lifecycle-api/pom.xml          |  4 ++
 server/container/spring/pom.xml                 |  4 ++
 server/data/data-cassandra/pom.xml              |  4 ++
 server/data/data-file/pom.xml                   |  4 ++
 server/data/data-hbase/pom.xml                  |  4 ++
 server/data/data-jcr/pom.xml                    |  4 ++
 server/data/data-jdbc/pom.xml                   |  4 ++
 server/data/data-jpa/pom.xml                    |  4 ++
 server/mailet/mailetcontainer-camel/pom.xml     |  4 ++
 server/protocols/fetchmail/pom.xml              |  4 ++
 server/protocols/protocols-imap4/pom.xml        |  8 +--
 server/protocols/protocols-library/pom.xml      |  4 ++
 server/protocols/protocols-lmtp/pom.xml         |  4 ++
 server/protocols/protocols-managesieve/pom.xml  |  4 ++
 server/protocols/protocols-pop3/pom.xml         |  4 ++
 server/protocols/protocols-smtp/pom.xml         |  4 ++
 28 files changed, 174 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/backends-common/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/pom.xml b/backends-common/cassandra/pom.xml
index e779451..1b16ea0 100644
--- a/backends-common/cassandra/pom.xml
+++ b/backends-common/cassandra/pom.xml
@@ -128,6 +128,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mailbox/plugin/quota-mailing/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/plugin/quota-mailing/pom.xml b/mailbox/plugin/quota-mailing/pom.xml
index a947bcb..ec85841 100644
--- a/mailbox/plugin/quota-mailing/pom.xml
+++ b/mailbox/plugin/quota-mailing/pom.xml
@@ -128,6 +128,10 @@
             <artifactId>mockito-core</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
     </dependencies>
 
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mailbox/scanning-search/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/scanning-search/pom.xml b/mailbox/scanning-search/pom.xml
index 3836d38..0fc7b9c 100644
--- a/mailbox/scanning-search/pom.xml
+++ b/mailbox/scanning-search/pom.xml
@@ -85,6 +85,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mailbox/spring/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/spring/pom.xml b/mailbox/spring/pom.xml
index 1bbe6ac..fd0533b 100644
--- a/mailbox/spring/pom.xml
+++ b/mailbox/spring/pom.xml
@@ -151,6 +151,10 @@
             -->
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mailbox/tika/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tika/pom.xml b/mailbox/tika/pom.xml
index c7f6425..a4936fd 100644
--- a/mailbox/tika/pom.xml
+++ b/mailbox/tika/pom.xml
@@ -84,6 +84,12 @@
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>fluent-hc</artifactId>
             <version>${apache.httpcomponents.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.assertj</groupId>
@@ -111,6 +117,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mpt/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/core/pom.xml b/mpt/core/pom.xml
index 36af7ff..bb4a86d 100644
--- a/mpt/core/pom.xml
+++ b/mpt/core/pom.xml
@@ -48,10 +48,6 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-        </dependency>
-        <dependency>
             <groupId>jmock</groupId>
             <artifactId>jmock</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/mpt/impl/imap-mailbox/cyrus/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/pom.xml b/mpt/impl/imap-mailbox/cyrus/pom.xml
index 0db3799..e29e5c8 100644
--- a/mpt/impl/imap-mailbox/cyrus/pom.xml
+++ b/mpt/impl/imap-mailbox/cyrus/pom.xml
@@ -43,6 +43,12 @@
             <groupId>com.spotify</groupId>
             <artifactId>docker-client</artifactId>
             <version>8.11.7</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 38ea4c9..e090414 100644
--- a/pom.xml
+++ b/pom.xml
@@ -930,6 +930,12 @@
                 <groupId>${james.groupId}</groupId>
                 <artifactId>apache-jsieve-core</artifactId>
                 <version>${jsieve.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
@@ -986,6 +992,12 @@
                 <groupId>${james.groupId}</groupId>
                 <artifactId>apache-mime4j-core</artifactId>
                 <version>${apache-mime4j.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
@@ -1724,6 +1736,12 @@
                 <groupId>com.jayway.awaitility</groupId>
                 <artifactId>awaitility</artifactId>
                 <version>1.6.5</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>com.jayway.jsonpath</groupId>
@@ -1734,6 +1752,12 @@
                 <groupId>io.rest-assured</groupId>
                 <artifactId>rest-assured</artifactId>
                 <version>3.1.0</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>com.nurkiewicz.asyncretry</groupId>
@@ -1800,6 +1824,10 @@
                         <groupId>commons-beanutils</groupId>
                         <artifactId>commons-beanutils-bean-collections</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
                 </exclusions>
             </dependency>
             <dependency>
@@ -1981,6 +2009,12 @@
                 <groupId>org.apache.activemq</groupId>
                 <artifactId>artemis-jms-client</artifactId>
                 <version>${activmq-artemis.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.ant</groupId>
@@ -2072,12 +2106,24 @@
                 <groupId>org.apache.hbase</groupId>
                 <artifactId>hbase</artifactId>
                 <version>${hbase.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.hbase</groupId>
                 <artifactId>hbase</artifactId>
                 <version>${hbase.version}</version>
                 <type>test-jar</type>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.httpcomponents</groupId>
@@ -2232,6 +2278,12 @@
                 <groupId>org.apache.pdfbox</groupId>
                 <artifactId>pdfbox</artifactId>
                 <version>2.0.11</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.xbean</groupId>
@@ -2239,6 +2291,10 @@
                 <version>${xbean-spring.version}</version>
                 <exclusions>
                     <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                    <exclusion>
                         <groupId>org.springframework</groupId>
                         <artifactId>spring-web</artifactId>
                     </exclusion>
@@ -2428,6 +2484,12 @@
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-core</artifactId>
                 <version>${spring.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.springframework</groupId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/protocols/api/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/api/pom.xml b/protocols/api/pom.xml
index 5b5a7aa..472f541 100644
--- a/protocols/api/pom.xml
+++ b/protocols/api/pom.xml
@@ -52,6 +52,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/container/guice/es-metric-reporter/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/es-metric-reporter/pom.xml b/server/container/guice/es-metric-reporter/pom.xml
index 7dfe6e3..64e28ac 100644
--- a/server/container/guice/es-metric-reporter/pom.xml
+++ b/server/container/guice/es-metric-reporter/pom.xml
@@ -60,5 +60,9 @@
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/container/guice/mailbox-plugin-spamassassin/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/mailbox-plugin-spamassassin/pom.xml b/server/container/guice/mailbox-plugin-spamassassin/pom.xml
index f401ffd..7676bda 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/pom.xml
+++ b/server/container/guice/mailbox-plugin-spamassassin/pom.xml
@@ -62,6 +62,10 @@
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/container/jetty/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/jetty/pom.xml b/server/container/jetty/pom.xml
index 4087769..6431658 100644
--- a/server/container/jetty/pom.xml
+++ b/server/container/jetty/pom.xml
@@ -76,5 +76,9 @@
             <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-servlet</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/container/lifecycle-api/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/lifecycle-api/pom.xml b/server/container/lifecycle-api/pom.xml
index d85399c..2c2fd25 100644
--- a/server/container/lifecycle-api/pom.xml
+++ b/server/container/lifecycle-api/pom.xml
@@ -39,6 +39,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/container/spring/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index 61c2213..af76e95 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -131,6 +131,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml
index 3b4bcbb..f7b575e 100644
--- a/server/data/data-cassandra/pom.xml
+++ b/server/data/data-cassandra/pom.xml
@@ -140,6 +140,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-file/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml
index 7ff64b8..513a86a 100644
--- a/server/data/data-file/pom.xml
+++ b/server/data/data-file/pom.xml
@@ -143,6 +143,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/pom.xml b/server/data/data-hbase/pom.xml
index cd7fab7..ec2f300 100644
--- a/server/data/data-hbase/pom.xml
+++ b/server/data/data-hbase/pom.xml
@@ -159,6 +159,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-jcr/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/pom.xml b/server/data/data-jcr/pom.xml
index c3d8ddd..809bea2 100644
--- a/server/data/data-jcr/pom.xml
+++ b/server/data/data-jcr/pom.xml
@@ -100,6 +100,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/pom.xml b/server/data/data-jdbc/pom.xml
index 3a1f08e..b67af76 100644
--- a/server/data/data-jdbc/pom.xml
+++ b/server/data/data-jdbc/pom.xml
@@ -151,6 +151,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 5cd2b64..98f57b3 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -132,6 +132,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/mailet/mailetcontainer-camel/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index 25f6627..033debf 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -146,6 +146,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/fetchmail/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/pom.xml b/server/protocols/fetchmail/pom.xml
index 52488b0..5485e0d 100644
--- a/server/protocols/fetchmail/pom.xml
+++ b/server/protocols/fetchmail/pom.xml
@@ -79,6 +79,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-imap4/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/pom.xml b/server/protocols/protocols-imap4/pom.xml
index 7047dd2..ec64dd9 100644
--- a/server/protocols/protocols-imap4/pom.xml
+++ b/server/protocols/protocols-imap4/pom.xml
@@ -62,10 +62,6 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty</artifactId>
         </dependency>
@@ -98,6 +94,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-library/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/pom.xml b/server/protocols/protocols-library/pom.xml
index d5b5ed2..3f875c6 100644
--- a/server/protocols/protocols-library/pom.xml
+++ b/server/protocols/protocols-library/pom.xml
@@ -82,6 +82,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-lmtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/pom.xml b/server/protocols/protocols-lmtp/pom.xml
index a5eb7ad..5daf4ba 100644
--- a/server/protocols/protocols-lmtp/pom.xml
+++ b/server/protocols/protocols-lmtp/pom.xml
@@ -117,6 +117,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-managesieve/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-managesieve/pom.xml b/server/protocols/protocols-managesieve/pom.xml
index addcf5e..1b510ed 100644
--- a/server/protocols/protocols-managesieve/pom.xml
+++ b/server/protocols/protocols-managesieve/pom.xml
@@ -55,6 +55,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-pop3/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/pom.xml b/server/protocols/protocols-pop3/pom.xml
index cf5c8f9..010bc49 100644
--- a/server/protocols/protocols-pop3/pom.xml
+++ b/server/protocols/protocols-pop3/pom.xml
@@ -149,6 +149,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/james-project/blob/2135e5ee/server/protocols/protocols-smtp/pom.xml
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index 1be572d..0ff3fe9 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -234,6 +234,10 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[07/24] james-project git commit: JAMES-2501 Create a SpamAssassin backend project

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham6
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham6 b/server/container/util/src/test/resources/spamassassin_db/ham/ham6
deleted file mode 100644
index f3231fe..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham6
+++ /dev/null
@@ -1,74 +0,0 @@
-From martin@srv0.ems.ed.ac.uk  Thu Aug 22 14:54:39 2002
-Return-Path: <ma...@srv0.ems.ed.ac.uk>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 16FC743F99
-	for <zz...@localhost>; Thu, 22 Aug 2002 09:54:38 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:54:39 +0100 (IST)
-Received: from n14.grp.scd.yahoo.com (n14.grp.scd.yahoo.com
-    [66.218.66.69]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7MDoxZ08960 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:50:59 +0100
-X-Egroups-Return: sentto-2242572-52737-1030024261-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.66.95] by n14.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 13:51:01 -0000
-X-Sender: martin@srv0.ems.ed.ac.uk
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:51:00 -0000
-Received: (qmail 71894 invoked from network); 22 Aug 2002 13:51:00 -0000
-Received: from unknown (66.218.66.218) by m7.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 13:51:00 -0000
-Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
-    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:51:00 -0000
-Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
-    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7MDow310334 for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:50:59 +0100 (BST)
-Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
-    22 Aug 02 14:50:58 +0000
-Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 14:50:31 +0000
-Organization: Management School
-To: zzzzteana@yahoogroups.com
-Message-Id: <3D...@localhost>
-Priority: normal
-In-Reply-To: <3D...@ee.ed.ac.uk>
-X-Mailer: Pegasus Mail for Windows (v4.01)
-Content-Description: Mail message body
-From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 14:50:31 +0100
-Subject: Re: [zzzzteana] Nothing like mama used to make
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-
-> I just had to jump in here as Carbonara is one of my favourites to make and 
-> ask 
-> what the hell are you supposed to use instead of cream? 
-
-Isn't it just basically a mixture of beaten egg and bacon (or pancetta, 
-really)? You mix in the raw egg to the cooked pasta and the heat of the pasta 
-cooks the egg. That's my understanding.
-
-Martin
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham7
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham7 b/server/container/util/src/test/resources/spamassassin_db/ham/ham7
deleted file mode 100644
index a65f9b4..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham7
+++ /dev/null
@@ -1,88 +0,0 @@
-From martin@srv0.ems.ed.ac.uk  Thu Aug 22 14:54:40 2002
-Return-Path: <ma...@srv0.ems.ed.ac.uk>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id E3D7B47C66
-	for <zz...@localhost>; Thu, 22 Aug 2002 09:54:39 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 14:54:40 +0100 (IST)
-Received: from n11.grp.scd.yahoo.com (n11.grp.scd.yahoo.com
-    [66.218.66.66]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7MDt8Z09193 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 14:55:10 +0100
-X-Egroups-Return: sentto-2242572-52738-1030024499-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.66.94] by n11.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 13:55:03 -0000
-X-Sender: martin@srv0.ems.ed.ac.uk
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 13:54:59 -0000
-Received: (qmail 43039 invoked from network); 22 Aug 2002 13:54:58 -0000
-Received: from unknown (66.218.66.216) by m1.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 13:54:58 -0000
-Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
-    mta1.grp.scd.yahoo.com with SMTP; 22 Aug 2002 13:54:58 -0000
-Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
-    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7MDsv311745 for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 14:54:57 +0100 (BST)
-Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
-    22 Aug 02 14:54:56 +0000
-Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 14:54:29 +0000
-Organization: Management School
-To: zzzzteana@yahoogroups.com
-Message-Id: <3D...@localhost>
-Priority: normal
-X-Mailer: Pegasus Mail for Windows (v4.01)
-Content-Description: Mail message body
-From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 14:54:25 +0100
-Subject: [zzzzteana] Playboy wants to go out with a bang
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-X-MIME-Autoconverted: from quoted-printable to 8bit by dogma.slashnull.org
-    id g7MDt8Z09193
-
-The Scotsman - 22 August 2002
-
- Playboy wants to go out with a bang 
- 
- 
- AN AGEING Berlin playboy has come up with an unusual offer to lure women into
- his bed - by promising the last woman he sleeps with an inheritance of 250,000
- (�160,000). 
- 
- Rolf Eden, 72, a Berlin disco owner famous for his countless sex partners,
- said he could imagine no better way to die than in the arms of an attractive
- young woman - preferably under 30. 
- 
- "I put it all in my last will and testament - the last woman who sleeps with
- me gets all the money," Mr Eden told Bild newspaper. 
- 
- "I want to pass away in the most beautiful moment of my life. First a lot of
- fun with a beautiful woman, then wild sex, a final orgasm - and it will all
- end with a heart attack and then I�m gone." 
- 
- Mr Eden, who is selling his nightclub this year, said applications should be
- sent in quickly because of his age. "It could end very soon," he said.
-
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham8
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham8 b/server/container/util/src/test/resources/spamassassin_db/ham/ham8
deleted file mode 100644
index c245926..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham8
+++ /dev/null
@@ -1,85 +0,0 @@
-From Stewart.Smith@ee.ed.ac.uk  Thu Aug 22 15:05:07 2002
-Return-Path: <St...@ee.ed.ac.uk>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id EF86747C67
-	for <zz...@localhost>; Thu, 22 Aug 2002 10:05:00 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 15:05:01 +0100 (IST)
-Received: from n34.grp.scd.yahoo.com (n34.grp.scd.yahoo.com
-    [66.218.66.102]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7ME1MZ09279 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 15:01:22 +0100
-X-Egroups-Return: sentto-2242572-52739-1030024883-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.67.195] by n34.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 14:01:23 -0000
-X-Sender: Stewart.Smith@ee.ed.ac.uk
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 14:01:23 -0000
-Received: (qmail 45116 invoked from network); 22 Aug 2002 14:01:22 -0000
-Received: from unknown (66.218.66.218) by m2.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 14:01:22 -0000
-Received: from unknown (HELO postbox.ee.ed.ac.uk) (129.215.80.253) by
-    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 14:01:22 -0000
-Received: from ee.ed.ac.uk (sxs@dunblane [129.215.34.86]) by
-    postbox.ee.ed.ac.uk (8.11.0/8.11.0) with ESMTP id g7ME1Li02942 for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 15:01:21 +0100 (BST)
-Message-Id: <3D...@ee.ed.ac.uk>
-Organization: Scottish Microelectronics Centre
-User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.1b) Gecko/20020628
-X-Accept-Language: en, en-us
-To: zzzzteana@yahoogroups.com
-References: <3D...@localhost>
-From: Stewart Smith <St...@ee.ed.ac.uk>
-X-Yahoo-Profile: stochasticus
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 15:01:20 +0100
-Subject: Re: [zzzzteana] Nothing like mama used to make
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-Martin Adamson wrote:
-> 
-> Isn't it just basically a mixture of beaten egg and bacon (or pancetta, 
-> really)? You mix in the raw egg to the cooked pasta and the heat of the pasta 
-> cooks the egg. That's my understanding.
-> 
-
-You're probably right, mine's just the same but with the cream added to the 
-eggs.  I guess I should try it without.  Actually looking on the internet for a 
-recipe I found this one from possibly one of the scariest people I've ever seen, 
-and he's a US Congressman:
-<http://www.virtualcities.com/ons/me/gov/megvjb1.htm>
-
-That's one of the worst non-smiles ever.
-
-Stew
-ps. Apologies if any of the list's Maine residents voted for this man, you won't 
-do it again once you've seen this pic.
-
--- 
-Stewart Smith
-Scottish Microelectronics Centre, University of Edinburgh.
-http://www.ee.ed.ac.uk/~sxs/
-
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/ham/ham9
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/ham/ham9 b/server/container/util/src/test/resources/spamassassin_db/ham/ham9
deleted file mode 100644
index df071f6..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/ham/ham9
+++ /dev/null
@@ -1,176 +0,0 @@
-From martin@srv0.ems.ed.ac.uk  Thu Aug 22 15:05:07 2002
-Return-Path: <ma...@srv0.ems.ed.ac.uk>
-Delivered-To: zzzz@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 7A0C347C68
-	for <zz...@localhost>; Thu, 22 Aug 2002 10:05:03 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for zzzz@localhost (single-drop); Thu, 22 Aug 2002 15:05:03 +0100 (IST)
-Received: from n34.grp.scd.yahoo.com (n34.grp.scd.yahoo.com
-    [66.218.66.102]) by dogma.slashnull.org (8.11.6/8.11.6) with SMTP id
-    g7ME1rZ09290 for <zz...@spamassassin.taint.org>; Thu, 22 Aug 2002 15:01:54 +0100
-X-Egroups-Return: sentto-2242572-52740-1030024915-zzzz=spamassassin.taint.org@returns.groups.yahoo.com
-Received: from [66.218.67.194] by n34.grp.scd.yahoo.com with NNFMP;
-    22 Aug 2002 14:01:55 -0000
-X-Sender: martin@srv0.ems.ed.ac.uk
-X-Apparently-To: zzzzteana@yahoogroups.com
-Received: (EGP: mail-8_1_0_1); 22 Aug 2002 14:01:55 -0000
-Received: (qmail 59494 invoked from network); 22 Aug 2002 14:01:55 -0000
-Received: from unknown (66.218.66.218) by m12.grp.scd.yahoo.com with QMQP;
-    22 Aug 2002 14:01:55 -0000
-Received: from unknown (HELO haymarket.ed.ac.uk) (129.215.128.53) by
-    mta3.grp.scd.yahoo.com with SMTP; 22 Aug 2002 14:01:54 -0000
-Received: from srv0.ems.ed.ac.uk (srv0.ems.ed.ac.uk [129.215.117.0]) by
-    haymarket.ed.ac.uk (8.11.6/8.11.6) with ESMTP id g7ME1r313981 for
-    <fo...@yahoogroups.com>; Thu, 22 Aug 2002 15:01:53 +0100 (BST)
-Received: from EMS-SRV0/SpoolDir by srv0.ems.ed.ac.uk (Mercury 1.44);
-    22 Aug 02 15:01:52 +0000
-Received: from SpoolDir by EMS-SRV0 (Mercury 1.44); 22 Aug 02 15:01:34 +0000
-Organization: Management School
-To: zzzzteana@yahoogroups.com
-Message-Id: <3D...@localhost>
-Priority: normal
-X-Mailer: Pegasus Mail for Windows (v4.01)
-Content-Description: Mail message body
-From: "Martin Adamson" <ma...@srv0.ems.ed.ac.uk>
-MIME-Version: 1.0
-Mailing-List: list zzzzteana@yahoogroups.com; contact
-    forteana-owner@yahoogroups.com
-Delivered-To: mailing list zzzzteana@yahoogroups.com
-Precedence: bulk
-List-Unsubscribe: <ma...@yahoogroups.com>
-Date: Thu, 22 Aug 2002 15:01:33 +0100
-Subject: [zzzzteana] Meaningful sentences
-Reply-To: zzzzteana@yahoogroups.com
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-X-MIME-Autoconverted: from quoted-printable to 8bit by dogma.slashnull.org
-    id g7ME1rZ09290
-
-The Scotsman
-
- Thu 22 Aug 2002 
-
- Meaningful sentences 
- 
- Tracey Lawson 
- 
- 
- If you ever wanted to look like "one of the most dangerous inmates in prison
- history", as one judge described Charles Bronson, now�s your chance. Bronson -
- the serial hostage taker, not the movie star - has written a health and
- fitness guide in which he shares some of the secrets behind his legendary
- muscle power. 
- 
- Solitary Fitness - a title which bears testament to the fact that Bronson, 48,
- has spent 24 of his 28 prison years in solitary confinement - explains how he
- has turned himself into a lean, mean, fitness machine while living 23 hours a
- day in a space just 12 feet by eight feet, on a diet of scrubs grub and at
- virtually no cost. 
- 
- The book is aimed at those who want to get fabulously fit without spending a
- fortune on gym memberships, protein supplements or designer trainers, and
- starts with a fierce attack on some of the expensive myths churned out by the
- exercise industry. 
- 
- "I pick up a fitness mag, I start to laugh and I wipe my arse with it," is the
- opening paragraph penned by Bronson. "It�s a joke and a big con and they call
- me a criminal!" You can�t help feeling he has a point. 
- 
- This is not the first book that Bronson has written from behind bars, having
- already published Birdman Opens His Mind, which features drawings and poems
- created by Bronson while in prison. And he is not the first prisoner to
- discover creative expression while residing at Her Majesty�s pleasure. 
- 
- Jimmy Boyle, the Scots sculptor and novelist, discovered his artistic talents
- when he was sent to Barlinnie Prison�s famous special unit, which aimed to
- help inmates put their violent pasts behind them by teaching them how to
- express their emotions artistically. Boyle was sentenced to life for the
- murder of "Babs" Rooney in 1967. Once released, he moved to Edinburgh where he
- has become a respected artist. His first novel, Hero of the Underworld, was
- published in 1999 and his autobiography, A Sense of Freedom, was made into an
- award-winning film. 
- 
- Hugh Collins was jailed for life in 1977 for the murder of William Mooney in
- Glasgow, and in his first year in Barlinnie prison stabbed three prison
- officers, earning him an extra seven-year sentence. But, after being
- transferred to the same unit that Boyle attended, he learned to sculpt and
- developed an interest in art. He later published Autobiography of a Murderer,
- a frank account of Glasgow�s criminal culture in the 1960s, which received
- critical praise. 
- 
- And Lord Archer doesn�t seem to have had trouble continuing to write the books
- that have made him millions while in jail. He recently signed a three-book
- deal with Macmillan publishers worth a reported �10 million, and is no doubt
- scribbling away as we speak. 
- 
- So why is it that men like Collins, Bronson and Boyle, who can be so
- destructive towards society on the outside, can become so creative once stuck
- on the inside? Steve Richards, Bronson�s publisher, has published many books
- about criminal figures and believes the roots of this phenomenon are both
- pragmatic and profound. 
- 
- He says: "Prison is sometimes the first time some criminals will ever have
- known a stable environment, and this can be the first time they have the
- chance to focus on their creative skills. 
- 
- "It may also be the first time that they have really had the chance of an
- education, if their early years have been hard. It could be the first time
- anyone has offered them the chance to explore their creative talents." 
- 
- However, Richards believes the reasons are also deeper than that. He says:
- "Once they are behind bars, the cold light of day hits them, and they examine
- the very essence of who they are. 
- 
- "They ask themselves, am I a man who wants to be remembered for violence? Or
- am I a man who can contribute to society, who can be remembered for something
- good?" 
- 
- Bronson - who was born Michael Gordon Peterson, but changed his name to that
- of the Hollywood star of the Death Wish films - has, so far, been remembered
- mainly for things bad. He was originally jailed for seven years for armed
- robbery in 1974, and has had a series of sentences added to his original term
- over the years as a result of attacking people in prison. In 2000 he was
- jailed for life after being convicted of holding a teacher hostage for nearly
- two days during a jail siege. 
- 
- Standing five feet ten and a half inches tall and weighing 210lbs, he is
- renowned for his strength. He has bent metal cell doors with his bare hands
- and does up to 3,000 - yes, 3,000 - press-ups a day. As he puts it: "I can hit
- a man 20 times in four seconds, I can push 132 press ups in 60 seconds." 
- 
- But judging by our current obsession with health and exercise, Solitary
- Fitness might be the book which will see Bronson�s face sitting on every
- coffee table in the land. He might be the man to give us the dream body which
- so many so-called fitness gurus promise but fail to motivate us into. Because
- Bronson has learned to use words as powerfully as he can use his fists. 
- 
- "All this crap about high-protein drinks, pills, diets, it�s just a load of
- bollocks and a multi-million-pound racket," he writes, in what can only be
- described as a refreshingly honest style. "We can all be fat lazy bastards,
- it�s our choice, I�m sick of hearing and reading about excuses, if you stuff
- your face with shit you become shit, that�s logical to me." 
- 
- As motivational mantras go, that might be just the kick up the, er, backside
- we all needed. 
- 
- 
- Solitary Fitness by Charles Bronson is published by Mirage Publishing and will
- be available in bookstores from October at �7.99
-
-
------------------------- Yahoo! Groups Sponsor ---------------------~-->
-4 DVDs Free +s&p Join Now
-http://us.click.yahoo.com/pt6YBB/NXiEAA/mG3HAA/7gSolB/TM
----------------------------------------------------------------------~->
-
-To unsubscribe from this group, send an email to:
-forteana-unsubscribe@egroups.com
-
- 
-
-Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
-
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam1
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam1 b/server/container/util/src/test/resources/spamassassin_db/spam/spam1
deleted file mode 100644
index 8bad787..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam1
+++ /dev/null
@@ -1,108 +0,0 @@
-From ilug-admin@linux.ie  Tue Aug  6 11:51:02 2002
-Return-Path: <il...@linux.ie>
-Delivered-To: yyyy@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 9E1F5441DD
-	for <jm...@localhost>; Tue,  6 Aug 2002 06:48:09 -0400 (EDT)
-Received: from phobos [127.0.0.1]
-	by localhost with IMAP (fetchmail-5.9.0)
-	for jm@localhost (single-drop); Tue, 06 Aug 2002 11:48:09 +0100 (IST)
-Received: from lugh.tuatha.org (root@lugh.tuatha.org [194.125.145.45]) by
-    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g72LqWv13294 for
-    <jm...@jmason.org>; Fri, 2 Aug 2002 22:52:32 +0100
-Received: from lugh (root@localhost [127.0.0.1]) by lugh.tuatha.org
-    (8.9.3/8.9.3) with ESMTP id WAA31224; Fri, 2 Aug 2002 22:50:17 +0100
-Received: from bettyjagessar.com (w142.z064000057.nyc-ny.dsl.cnc.net
-    [64.0.57.142]) by lugh.tuatha.org (8.9.3/8.9.3) with ESMTP id WAA31201 for
-    <il...@linux.ie>; Fri, 2 Aug 2002 22:50:11 +0100
-X-Authentication-Warning: lugh.tuatha.org: Host w142.z064000057.nyc-ny.dsl.cnc.net
-    [64.0.57.142] claimed to be bettyjagessar.com
-Received: from 64.0.57.142 [202.63.165.34] by bettyjagessar.com
-    (SMTPD32-7.06 EVAL) id A42A7FC01F2; Fri, 02 Aug 2002 02:18:18 -0400
-Message-Id: <10...@0.57.142>
-Date: Fri, 02 Aug 2002 23:37:59 0530
-To: ilug@linux.ie
-From: "Start Now" <st...@hotmail.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset="US-ASCII"; format=flowed
-Subject: [ILUG] STOP THE MLM INSANITY
-Sender: ilug-admin@linux.ie
-Errors-To: ilug-admin@linux.ie
-X-Mailman-Version: 1.1
-Precedence: bulk
-List-Id: Irish Linux Users' Group <ilug.linux.ie>
-X-Beenthere: ilug@linux.ie
-
-Greetings!
-
-You are receiving this letter because you have expressed an interest in 
-receiving information about online business opportunities. If this is 
-erroneous then please accept my most sincere apology. This is a one-time 
-mailing, so no removal is necessary.
-
-If you've been burned, betrayed, and back-stabbed by multi-level marketing, 
-MLM, then please read this letter. It could be the most important one that 
-has ever landed in your Inbox.
-
-MULTI-LEVEL MARKETING IS A HUGE MISTAKE FOR MOST PEOPLE
-
-MLM has failed to deliver on its promises for the past 50 years. The pursuit 
-of the "MLM Dream" has cost hundreds of thousands of people their friends, 
-their fortunes and their sacred honor. The fact is that MLM is fatally 
-flawed, meaning that it CANNOT work for most people.
-
-The companies and the few who earn the big money in MLM are NOT going to 
-tell you the real story. FINALLY, there is someone who has the courage to 
-cut through the hype and lies and tell the TRUTH about MLM.
-
-HERE'S GOOD NEWS
-
-There IS an alternative to MLM that WORKS, and works BIG! If you haven't yet 
-abandoned your dreams, then you need to see this. Earning the kind of income 
-you've dreamed about is easier than you think!
-
-With your permission, I'd like to send you a brief letter that will tell you 
-WHY MLM doesn't work for most people and will then introduce you to 
-something so new and refreshing that you'll wonder why you haven't heard of 
-this before.
-
-I promise that there will be NO unwanted follow up, NO sales pitch, no one 
-will call you, and your email address will only be used to send you the 
-information. Period.
-
-To receive this free, life-changing information, simply click Reply, type 
-"Send Info" in the Subject box and hit Send. I'll get the information to you 
-within 24 hours. Just look for the words MLM WALL OF SHAME in your Inbox.
-
-Cordially,
-
-Siddhi
-
-P.S. Someone recently sent the letter to me and it has been the most 
-eye-opening, financially beneficial information I have ever received. I 
-honestly believe that you will feel the same way once you've read it. And 
-it's FREE!
-
-
-------------------------------------------------------------
-This email is NEVER sent unsolicited.  THIS IS NOT "SPAM". You are receiving 
-this email because you EXPLICITLY signed yourself up to our list with our 
-online signup form or through use of our FFA Links Page and E-MailDOM 
-systems, which have EXPLICIT terms of use which state that through its use 
-you agree to receive our emailings.  You may also be a member of a Altra 
-Computer Systems list or one of many numerous FREE Marketing Services and as 
-such you agreed when you signed up for such list that you would also be 
-receiving this emailing.
-Due to the above, this email message cannot be considered unsolicitated, or 
-spam.
------------------------------------------------------------
-
-
-
-
--- 
-Irish Linux Users' Group: ilug@linux.ie
-http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
-List maintainer: listmaster@linux.ie
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam2
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam2 b/server/container/util/src/test/resources/spamassassin_db/spam/spam2
deleted file mode 100644
index 88a809e..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam2
+++ /dev/null
@@ -1,186 +0,0 @@
-From lmrn@mailexcite.com  Mon Jun 24 17:03:24 2002
-Return-Path: merchantsworld2001@juno.com
-Delivery-Date: Mon May 13 04:46:13 2002
-Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
-    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4D3kCe15097 for
-    <jm...@jmason.org>; Mon, 13 May 2002 04:46:12 +0100
-Received: from 203.129.205.5.205.129.203.in-addr.arpa ([203.129.205.5]) by
-    mandark.labs.netnoteinc.com (8.11.2/8.11.2) with SMTP id g4D3k2D12605 for
-    <jm...@netnoteinc.com>; Mon, 13 May 2002 04:46:04 +0100
-Received: from html (unverified [207.95.174.49]) by
-    203.129.205.5.205.129.203.in-addr.arpa (EMWAC SMTPRS 0.83) with SMTP id
-    <B0...@203.129.205.5.205.129.203.in-addr.arpa>; Mon, 13 May 2002
-    09:04:46 +0530
-Message-Id: <B0...@203.129.205.5.205.129.203.in-addr.arpa>
-From: lmrn@mailexcite.com
-To: ranmoore@cybertime.net
-Subject: Real Protection, Stun Guns!  Free Shipping! Time:2:01:35 PM
-Date: Mon, 28 Jul 1980 14:01:35
-MIME-Version: 1.0
-X-Keywords: 
-Content-Type: text/html; charset="DEFAULT"
-
-<html>
-<body>
-<center>
-<h3>
-<font color="blue">
-<b>
-The Need For Safety Is Real In 2002, You Might Only Get One Chance - Be Ready!
-<p>
-Free Shipping & Handling Within The (USA) If You Order Before May 25, 2002! 
-<p>
-3 Day Super Sale, Now Until May 7, 2002!  Save Up To $30.00 On Some Items!
-
-</b>
-</font>
-</h3>
-</center>
-<p>
-IT'S GETTING TO BE SPRING AGAIN, PROTECT YOURSELF AS YOU WALK,<br>
-JOG AND EXERCISE OUTSIDE.  ALSO PROTECT YOUR LOVED ONES AS<br>
-THEY RETURN HOME FROM COLLEGE!<br>
-<p>
-*     LEGAL PROTECTION FOR COLLEGE STUDENTS!<br>
-*     GREAT UP'COMING OUTDOOR PROTECTION GIFTS!<br>
-*     THERE IS NOTHING WORTH MORE PROTECTING THAN LIFE!<br>
-*     OUR STUN DEVICES & PEPPER PRODUCTS ARE LEGAL PROTECTION!
-<p>
-<b>
-<font color="red">
-JOIN THE WAR ON CRIME!
-</b>
-</font>
-<p>
-
-STUN GUNS AND BATONS 
-<p>
-EFFECTIVE - SAFE - NONLETHAL
-<p>
-PROTECT YOUR LOVED ONES AND YOURSELF
-<p>
-No matter who you are, no matter what City or Town you live in,<br>
-if you live in America, you will be touched by crime.
-<p>
-You hear about it on TV.  You read about it in the newspaper.<br>
-It's no secret that crime is a major problem in the U.S. today.<br>
-Criminals are finding it easier to commit crimes all the time.
-<p>
-Weapons are readily available.  Our cities' police forces have<br>
-more work than they can handle.  Even if these criminal are<br>
-caught, they won't be spending long in our nation's overcrowded<br>
-jails.  And while lawmakers are well aware of the crime problem,<br>
-they don't seem to have any effective answers.
-<p>
-Our Email Address:  <a
-href="mailto:Merchants4all@aol.com">Merchants4all@aol.com</a>
-<p>
-INTERESTED:
-<p>
-You will be protecting yourself within 7 days!  Don't Wait,<br>
-visit our web page below, and join The War On Crime!
-<p>
-*****************<br>
-<a
-href="http://www.geocities.com/realprotection_20022003/">http://www.geocities.com/realprotection_20022003/</a><br>
-*****************
-<p>
-Well, there is an effective answer.  Take responsibility for<br>
-your own security.  Our site has a variety of quality personal<br>
-security products.  Visit our site, choose the personal security<br>
-products that are right for you.  Use them, and join the war on
-crime!
-<p>
-FREE PEPPER SPRAY WITH ANY STUN UNIT PURCHASE.<br>
-(A Value of $15.95)
-<p>
-We Ship Orders Within 5 To 7 Days, To Every State In The U.S.A.<br>
-by UPS, FEDEX, or U.S. POSTAL SERVICE.  Visa, MasterCard, American<br>
-Express & Debt Card Gladly Accepted.
-<p>
-Ask yourself this question, if you don't help your loved ones,
-who will?
-<p>
-INTERESTED:
-<p>
-*****************<br>
-<a
-href="http://www.geocities.com/realprotection_20022003/">http://www.geocities.com/realprotection_20022003/</a><br>
-*****************
-<p>
-___The Stun Monster 625,000 Volts ($86.95)<br>
-___The Z-Force Slim Style 300,000 Volts ($64.95)<br>
-___The StunMaster 300,000 Volts Straight ($59.95)<br>
-___The StunMaster 300,000 Volts Curb ($59.95)<br>
-___The StunMaster 200,000 Volts Straight ($49.95)<br>
-___The StunMaster 200,000 Volts Curb ($49.95)<br>
-___The StunBaton 500,000 Volts ($89.95)<br>
-___The StunBaton 300,000 Volts ($79.95)<br>
-___Pen Knife (One $12.50, Two Or More $9.00)<br>
-___Wildfire Pepper Spray  (One $15.95, Two Or More $11.75)
-<p>
-___Add $5.75 For Shipping & Handling Charge.
-<p>
-
-To Order by postal mail, please send to the below address.<br>
-Make payable to Mega Safety Technology.
-<p>
-Mega Safety Technology<br>
-3215 Merrimac Ave.<br>
-Dayton, Ohio  45405<br>
-Our Email Address:  <a
-href="mailto:Merchants4all@aol.com">Merchants4all@aol.com</a>
-<p>
-Order by 24 Hour Fax!!!  775-257-6657.
-<p>
-*****<br>
-<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
- <br><br>
-*     Credit Card Address, City, State and Zip Code, must match
-      billing address to be processed. 
-<br><br>
-
-CHECK____  MONEYORDER____  VISA____ MASTERCARD____ AmericanExpress___
-Debt Card___
-<br><br>
-Name_______________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-Address____________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-City,State,Zip(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-Country
-<br><br>
-___________________________________________________<br>
-(Credit Card Number)
-<br><br>
-Expiration Month_____  Year_____
-<br><br>
-___________________________________________________<br>
-Authorized Signature
-<br><br>
-<b>
-*****IMPORTANT NOTE*****
-</b>
-<br><br>
-If Shipping Address Is Different From The Billing Address Above,
-Please Fill Out Information Below.
-<br><br>
-Shipping Name______________________________________________
-<br><br>
-Shipping Address___________________________________________
-<br><br>
-___________________________________________________________<br>
-Shipping City,State,Zip
-<br><br>
-___________________________________________________________<br>
-Country
-<br><br>
-___________________________________________________________<br>
-Email Address & Phone Number(Please Write Neat)
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam3
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam3 b/server/container/util/src/test/resources/spamassassin_db/spam/spam3
deleted file mode 100644
index e828804..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam3
+++ /dev/null
@@ -1,211 +0,0 @@
-From amknight@mailexcite.com  Mon Jun 24 17:03:49 2002
-Return-Path: merchantsworld2001@juno.com
-Delivery-Date: Wed May 15 08:58:23 2002
-Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
-    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4F7wIe23864 for
-    <jm...@jmason.org>; Wed, 15 May 2002 08:58:18 +0100
-Received: from webcust2.hightowertech.com (webcust2.hightowertech.com
-    [216.41.166.100]) by mandark.labs.netnoteinc.com (8.11.2/8.11.2) with
-    ESMTP id g4F7wGD24120 for <jm...@netnoteinc.com>; Wed, 15 May 2002 08:58:17
-    +0100
-Received: from html ([206.216.197.214]) by webcust2.hightowertech.com with
-    Microsoft SMTPSVC(5.5.1877.197.19); Wed, 15 May 2002 00:55:53 -0700
-From: amknight@mailexcite.com
-To: cbmark@cbmark.com
-Subject: New Improved Fat Burners, Now With TV Fat Absorbers! Time:6:25:49 PM
-Date: Wed, 30 Jul 1980 18:25:49
-MIME-Version: 1.0
-Message-Id: <08...@webcust2.hightowertech.com>
-X-Keywords: 
-Content-Type: text/html; charset="DEFAULT"
-
-<html>
-<body>
-<center>
-<b>
-<font color="blue">
-*****Bonus Fat Absorbers As Seen On TV, Included Free With Purchase Of 2 Or More Bottle, $24.95 Value*****
-</font>
-<br>
-<br>
-***TAKE $10.00 OFF 2 & 3 MONTH SUPPLY ORDERS, $5.00 OFF 1 MONTH SUPPLY!
-***AND STILL GET YOUR BONUS!  PRICE WILL BE DEDUCTED DURING PROCESSING.
-<br>
-<br>
-***FAT ABSORBERS ARE GREAT FOR THOSE WHO WANT TO LOSE WEIGHT,  BUT CAN'T STAY ON A DIET***
-<br>
-<br>
-***OFFER GOOD UNTIL MAY 27, 2002!  FOREIGN ORDERS INCLUDED!
-<br>
-<br>
-
-<font color="blue">
-
-LOSE 30 POUNDS  IN 30 DAYS... GUARANTEED!!!
-<br>
-<br>
-
-All Natural Weight-Loss Program, Speeds Up The Metabolism Safely
-Rated #1 In Both Categories of SAFETY & EFFECTIVENESS In<br>
-(THE United States Today)
-<br><br>
-WE'LL HELP YOU GET THINNER!
-WE'RE GOING TO HELP YOU LOOK GOOD, FEEL GOOD AND TAKE CONTROL IN
-2002
-<br>
-<br>
-</b>
-</font color="blue">
-</center>
-
-Why Use Our Amazing Weight Loss Capsules?
-<br><br>
-*  They act like a natural magnet to attract fat.<br>
-*  Stimulates the body's natural metabolism. <br>
-*  Controls appetite naturally and makes it easier to
-   eat the right foods consistently.<br>
-*  Reduces craving for sweets.<br>
-*  Aids in the absorption of fat and in overall digestion.<br>
-*  Inhibits bad cholesterol and boosts good cholesterol.<br>
-*  Aids in the process of weight loss and long-term weight management.<br>
-*  Completely safe, UltraTrim New Century contains no banned
-   substances and has no known side effects.<br>
-<br>
-What Makes UltraTrim New Century Unique?
-<br><br>
-A scientifically designed combination of natural ingredients that
-provide long-term weight management in a safe and effective manner.
-<br><br>
-*****<br>
-Receive A Bonus Supply Of Ultra Trim New Century & A Bottle Of Fat Absorbers Listed Above, 
-With Every Order Of 2 Or More Bottles. Offer Good Until May. 27, 2002! <br>
-*****
-<br><br>
-WE GLADLY SHIP TO ALL FOREIGN COUNTRIES! 
-<br><br>
-You will be losing by tomorrow!  Don't Wait, visit our web
-page below, and order now!
-<br><br>
-Email Address:   <a
-href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
-<br><br>
-Order by 24 Hour Fax!!!  775-257-6657.<br>
-<br>
-*****************<br>
-<a
-href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
-*****************
-<br><br>
-This is the easiest, fastest, and most effective way to lose both
-pounds and inches permanently!!!  This weight loss program is
-designed specifically to "boost" weight-loss efforts by assisting
-body metabolism, and helping the body's ability to manage weight.
-A powerful, safe, 30 Day Program.  This is one program you won't
-feel starved on.  Complete program for one amazing low price!
-Program includes: <b>BONUS AMAZING FAT ABSORBER CAPSULES, 30 DAY -
-WEIGHT
-REDUCTION PLAN, PROGRESS REPORT!</b>
-<br><br>
-SPECIAL BONUS..."FAT ABSORBERS", AS SEEN ON TV
-With every order...AMAZING MELT AWAY FAT ABSORBER CAPSULES with
-directions ( Absolutely Free ) ...With these capsules
-you can eat what you enjoy, without the worry of fat in your diet.
-2 to 3 capsules 15 minutes before eating or snack, and the fat will be
-absorbed and passed through the body without the digestion of fat into
-the body. 
-<br><br>
-You will be losing by tomorrow!  Don't Wait, visit our web
-page below, and order now!
-<br><br>
-Email Address:  <a href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
-<br><br>
-
-Order by 24 Hour Fax!!!  775-257-6657.<br>
-<br>
-*****************<br>
-<a
-href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
-*****************
-<br><br>
-___1 Month Supply $32.95 plus $4.75 S & H, 100 Amazing MegaTrim
-     Capsules.
-<br><br>
-___2 Month Supply $54.95 plus $4.75 S & H, 200 Amazing MegaTrim
-     Capsules.  (A $10.95 Savings, Free Bottle)!
-<br><br>
-___3 Month Supply $69.95,  Plus $4.75 S & H, 300 Amazing MegaTrim
-     Capsules.  (A $28.90 Savings, Free Bottle)!
-<br><br>
-To Order by postal mail, please send to the below address.
-Make payable to UltraTrim 2002.
-<br><br>
-Ultra Trim 2002<br>
-4132 Pompton Ct.<br>
-Dayton, Ohio  45405<br>
-(937) 567-9807<br>
-<br>
-Order by 24 Hour Voice/Fax!!!  775-257-6657.<br>
-<br>
-*****<br>
-<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
- <br><br>
-*     Credit Card Address, City, State and Zip Code, must match
-      billing address to be processed. 
-<br><br>
-
-___Check<br>
-___MoneyOrder<br>
-___Visa<br>
-___MasterCard<br>
-___AmericanExpress<br>
-___Debt Card
-<br><br>
-Name_______________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-Address____________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-City,State,Zip(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-Country
-<br><br>
-___________________________________________________<br>
-(Credit Card Number)
-<br><br>
-Expiration Month_____  Year_____
-<br><br>
-___________________________________________________<br>
-Authorized Signature
-<br><br>
-<b>
-*****IMPORTANT NOTE*****
-</b>
-<br><br>
-If Shipping Address Is Different From The Billing Address Above,
-Please Fill Out Information Below.
-<br><br>
-Shipping Name______________________________________________
-<br><br>
-Shipping Address___________________________________________
-<br><br>
-___________________________________________________________<br>
-Shipping City,State,Zip
-<br><br>
-___________________________________________________________<br>
-Country
-<br><br>
-___________________________________________________________<br>
-Email Address & Phone Number(Please Write Neat)
-<br>
-<br>
-<center>
-<a
-href="mailto:ultratrim2002dontsend@yahoo.com">To Be Removed From Our Mail List, Click Here And Put The Word Remove In The Subject Line.</a>
-</center>
-<br>
-<br>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam4
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam4 b/server/container/util/src/test/resources/spamassassin_db/spam/spam4
deleted file mode 100644
index 13c3b13..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam4
+++ /dev/null
@@ -1,213 +0,0 @@
-From jordan23@mailexcite.com  Mon Jun 24 17:04:20 2002
-Return-Path: merchantsworld2001@juno.com
-Delivery-Date: Thu May 16 11:03:55 2002
-Received: from mandark.labs.netnoteinc.com ([213.105.180.140]) by
-    dogma.slashnull.org (8.11.6/8.11.6) with ESMTP id g4GA3qe29480 for
-    <jm...@jmason.org>; Thu, 16 May 2002 11:03:52 +0100
-Received: from webnote.net (mail.webnote.net [193.120.211.219]) by
-    mandark.labs.netnoteinc.com (8.11.2/8.11.2) with ESMTP id g4GA3oD28650 for
-    <jm...@netnoteinc.com>; Thu, 16 May 2002 11:03:51 +0100
-Received: from webcust2.hightowertech.com (webcust2.hightowertech.com
-    [216.41.166.100]) by webnote.net (8.9.3/8.9.3) with ESMTP id BAA11067 for
-    <jm...@netnoteinc.com>; Thu, 16 May 2002 01:58:00 +0100
-Received: from html ([199.35.236.73]) by webcust2.hightowertech.com  with
-    Microsoft SMTPSVC(5.5.1877.197.19); Wed, 15 May 2002 13:50:57 -0700
-From: jordan23@mailexcite.com
-To: ranmoore@swbell.net
-Subject: New Improved Fat Burners, Now With TV Fat Absorbers! Time:7:20:54 AM
-Date: Thu, 31 Jul 1980 07:20:54
-MIME-Version: 1.0
-Message-Id: <09...@webcust2.hightowertech.com>
-X-Keywords: 
-Content-Type: text/html; charset="DEFAULT"
-
-<html>
-<body>
-<center>
-<b>
-<font color="blue">
-*****Bonus Fat Absorbers As Seen On TV, Included Free With Purchase Of 2 Or More Bottle, $24.95 Value*****
-</font>
-<br>
-<br>
-***TAKE $10.00 OFF 2 & 3 MONTH SUPPLY ORDERS, $5.00 OFF 1 MONTH SUPPLY!
-***AND STILL GET YOUR BONUS!  PRICE WILL BE DEDUCTED DURING PROCESSING.
-<br>
-<br>
-***FAT ABSORBERS ARE GREAT FOR THOSE WHO WANT TO LOSE WEIGHT,  BUT CAN'T STAY ON A DIET***
-<br>
-<br>
-***OFFER GOOD UNTIL MAY 27, 2002!  FOREIGN ORDERS INCLUDED!
-<br>
-<br>
-
-<font color="blue">
-
-LOSE 30 POUNDS  IN 30 DAYS... GUARANTEED!!!
-<br>
-<br>
-
-All Natural Weight-Loss Program, Speeds Up The Metabolism Safely
-Rated #1 In Both Categories of SAFETY & EFFECTIVENESS In<br>
-(THE United States Today)
-<br><br>
-WE'LL HELP YOU GET THINNER!
-WE'RE GOING TO HELP YOU LOOK GOOD, FEEL GOOD AND TAKE CONTROL IN
-2002
-<br>
-<br>
-</b>
-</font color="blue">
-</center>
-
-Why Use Our Amazing Weight Loss Capsules?
-<br><br>
-*  They act like a natural magnet to attract fat.<br>
-*  Stimulates the body's natural metabolism. <br>
-*  Controls appetite naturally and makes it easier to
-   eat the right foods consistently.<br>
-*  Reduces craving for sweets.<br>
-*  Aids in the absorption of fat and in overall digestion.<br>
-*  Inhibits bad cholesterol and boosts good cholesterol.<br>
-*  Aids in the process of weight loss and long-term weight management.<br>
-*  Completely safe, UltraTrim New Century contains no banned
-   substances and has no known side effects.<br>
-<br>
-What Makes UltraTrim New Century Unique?
-<br><br>
-A scientifically designed combination of natural ingredients that
-provide long-term weight management in a safe and effective manner.
-<br><br>
-*****<br>
-Receive A Bonus Supply Of Ultra Trim New Century & A Bottle Of Fat Absorbers Listed Above, 
-With Every Order Of 2 Or More Bottles. Offer Good Until May. 27, 2002! <br>
-*****
-<br><br>
-WE GLADLY SHIP TO ALL FOREIGN COUNTRIES! 
-<br><br>
-You will be losing by tomorrow!  Don't Wait, visit our web
-page below, and order now!
-<br><br>
-Email Address:   <a
-href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
-<br><br>
-Order by 24 Hour Fax!!!  775-257-6657.<br>
-<br>
-*****************<br>
-<a
-href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
-*****************
-<br><br>
-This is the easiest, fastest, and most effective way to lose both
-pounds and inches permanently!!!  This weight loss program is
-designed specifically to "boost" weight-loss efforts by assisting
-body metabolism, and helping the body's ability to manage weight.
-A powerful, safe, 30 Day Program.  This is one program you won't
-feel starved on.  Complete program for one amazing low price!
-Program includes: <b>BONUS AMAZING FAT ABSORBER CAPSULES, 30 DAY -
-WEIGHT
-REDUCTION PLAN, PROGRESS REPORT!</b>
-<br><br>
-SPECIAL BONUS..."FAT ABSORBERS", AS SEEN ON TV
-With every order...AMAZING MELT AWAY FAT ABSORBER CAPSULES with
-directions ( Absolutely Free ) ...With these capsules
-you can eat what you enjoy, without the worry of fat in your diet.
-2 to 3 capsules 15 minutes before eating or snack, and the fat will be
-absorbed and passed through the body without the digestion of fat into
-the body. 
-<br><br>
-You will be losing by tomorrow!  Don't Wait, visit our web
-page below, and order now!
-<br><br>
-Email Address:  <a href="mailto:ultratrimnow2001@aol.com">ultratrimnow2001@aol.com</a>
-<br><br>
-
-Order by 24 Hour Fax!!!  775-257-6657.<br>
-<br>
-*****************<br>
-<a
-href="http://www.geocities.com/ultra_weightloss_2002/">http://www.geocities.com/ultra_weightloss_2002/</a><br>
-*****************
-<br><br>
-___1 Month Supply $32.95 plus $4.75 S & H, 100 Amazing MegaTrim
-     Capsules.
-<br><br>
-___2 Month Supply $54.95 plus $4.75 S & H, 200 Amazing MegaTrim
-     Capsules.  (A $10.95 Savings, Free Bottle)!
-<br><br>
-___3 Month Supply $69.95,  Plus $4.75 S & H, 300 Amazing MegaTrim
-     Capsules.  (A $28.90 Savings, Free Bottle)!
-<br><br>
-To Order by postal mail, please send to the below address.
-Make payable to UltraTrim 2002.
-<br><br>
-Ultra Trim 2002<br>
-4132 Pompton Ct.<br>
-Dayton, Ohio  45405<br>
-(937) 567-9807<br>
-<br>
-Order by 24 Hour Voice/Fax!!!  775-257-6657.<br>
-<br>
-*****<br>
-<b><font color="red">Important Credit Card Information! Please Read Below!</b></font>
- <br><br>
-*     Credit Card Address, City, State and Zip Code, must match
-      billing address to be processed. 
-<br><br>
-
-___Check<br>
-___MoneyOrder<br>
-___Visa<br>
-___MasterCard<br>
-___AmericanExpress<br>
-___Debt Card
-<br><br>
-Name_______________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-Address____________________________________________________<br>
-(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-City,State,Zip(As it appears on Check or Credit Card)
-<br><br>
-___________________________________________________<br>
-Country
-<br><br>
-___________________________________________________<br>
-(Credit Card Number)
-<br><br>
-Expiration Month_____  Year_____
-<br><br>
-___________________________________________________<br>
-Authorized Signature
-<br><br>
-<b>
-*****IMPORTANT NOTE*****
-</b>
-<br><br>
-If Shipping Address Is Different From The Billing Address Above,
-Please Fill Out Information Below.
-<br><br>
-Shipping Name______________________________________________
-<br><br>
-Shipping Address___________________________________________
-<br><br>
-___________________________________________________________<br>
-Shipping City,State,Zip
-<br><br>
-___________________________________________________________<br>
-Country
-<br><br>
-___________________________________________________________<br>
-Email Address & Phone Number(Please Write Neat)
-<br>
-<br>
-<center>
-<a
-href="mailto:ultratrim2002dontsend@yahoo.com">To Be Removed From Our Mail List, Click Here And Put The Word Remove In The Subject Line.</a>
-</center>
-<br>
-<br>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam5
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam5 b/server/container/util/src/test/resources/spamassassin_db/spam/spam5
deleted file mode 100644
index f59fb7f..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam5
+++ /dev/null
@@ -1,161 +0,0 @@
-From merchantsworld2001@juno.com  Tue Aug  6 11:01:33 2002
-Return-Path: <me...@juno.com>
-Delivered-To: yyyy@localhost.netnoteinc.com
-Received: from localhost (localhost [127.0.0.1])
-	by phobos.labs.netnoteinc.com (Postfix) with ESMTP id 8399C44126
-	for <jm...@localhost>; Tue,  6 Aug 2002 05:55:17 -0400 (EDT)
-Received: from mail.webnote.net [193.120.211.219]
-	by localhost with POP3 (fetchmail-5.9.0)
-	for jm@localhost (single-drop); Tue, 06 Aug 2002 10:55:17 +0100 (IST)
-Received: from ns1.snaapp.com (066.dsl6660167.bstatic.surewest.net [66.60.167.66])
-	by webnote.net (8.9.3/8.9.3) with ESMTP id BAA09623
-	for <jm...@netnoteinc.com>; Sun, 4 Aug 2002 01:37:55 +0100
-Message-Id: <20...@webnote.net>
-Received: from html ([199.35.244.221]) by ns1.snaapp.com
-          (Post.Office MTA v3.1.2 release (PO205-101c)
-          ID# 0-47762U100L2S100) with SMTP id ABD354;
-          Sat, 3 Aug 2002 17:32:59 -0700
-From: yyyy@pluriproj.pt
-Reply-To: merchantsworld2001@juno.com
-To: yyyy@pluriproj.pt
-Subject: Never Repay Cash Grants, $500 - $50,000, Secret Revealed!
-Date: Sun, 19 Oct 1980 10:55:16
-Mime-Version: 1.0
-Content-Type: text/html; charset="DEFAULT"
-
-<html><xbody>
-<hr width = "100%">
-<center><h3><font color =
-"#44C300"><b>Government Grants E-Book 2002
-edition, Just $15.95. Summer Sale, Good Until August 10, 2002!  Was $49.95.</font></b><p>
-<table><Tr><td>
-<li>You Can Receive The <font color =
-"green"><b>Money</b></font> You Need...
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-						
-<li>Every day <b><font color = "green">millions of
-dollars</font></b> are given away to people, just like
-you!!
-<li>Your Government spends <b><font color =
-"green">billions</font></b> of tax dollars on
-government grants.
-<li>Do you know that private foundations, trust and
-corporations are
-<li>required to give away a portion of theirs assets.
-It doesn't matter,
-<li>where you live (USA ONLY), your employment status,
-or if you are broke, retired
-<li>or living on a fixed income. There may be a grant
-for you!
-<hr width = "100%">
-<li><font color = "red"><b>ANYONE</b></font> can apply
-for a Grant from 18 years old and up!
-<li>We will show you HOW & WHERE to get Grants. <font
-color = "red"><b>THIS BOOK IS NEWLY UPDATED WITH THE
-MOST CURRENT INFORMATION!!!</b></font>
-<li>Grants from $500.00 to $50,000.00 are possible!
-<li>GRANTS don't have to be paid back, EVER!
-<li>Grants can be ideal for people who are or were
-bankrupt or just have bad credit.
-</td></tr></table>
-<br><font size = "+1">Please Visit Our
-Website<p></font>
-And Place Your <font color = "red"> <b>Order
-TODAY!</b> </font><a target="_blank"  href =
-"http://www.geocities.com/grantzone_2002/" ><b><font
-size="5">CLICK HERE</font></b> </a><p>&nbsp;<p>
-
-To Order by postal mail, please send $15.95 Plus $4.00 S & H. <br>
-Make payable to <b>Grant Gold 2002</b>.<br>
-<br>
-</center>
-Grant Gold 2002<br>
-P. O. Box 36<br>
-Dayton, Ohio  45405<br>
-<br>
-If you would like to order via Fax, please include your credit card information below and fax to our Fax Line.<br>
-OUR 24 HOUR FAX NUMBER:  775-257-6657.
-<br><br>
-*****
-Important Credit Card Information! Please Read Below!<br><br>
- 
-*     Credit Card Address, City, State and Zip Code, must match billing address to be processed. 
-<br><br>
-
-CHECK____  MONEYORDER____  VISA____ MASTERCARD____ AmericanExpress___ Debt Card___
-<br><br>
-Name_______________________________________________________<br>
-(As it appears on Check or Credit Card)<br>
-<br>
-Address____________________________________________________<br>
-(As it appears on Check or Credit Card)<br>
-<br>
-___________________________________________________<br>
-City,State,Zip(As it appears on Check or Credit Card)<br>
-<br>
-___________________________________________________<br>
-(Credit Card Number)<br>
-<br>
-Expiration Month_____  Year_____<br>
-<br>
-___________________________________________________<br>
-Email Address (Please Write Neat)<br>
-<br>
-___________________________________________________<br>
-Authorized Signature
-<p>
-<font size="1">
-We apologize for any email you may have inadvertently
-received.<br>
-Please <a target="_blank"  href =
-"http://www.mysoftwarefouruu.com/remove.htm" >CLICK
-HERE</a> to unsubscribe from future
-mailings.</font><br>
-
-</BODY>
-</HTML>
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam6
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam6 b/server/container/util/src/test/resources/spamassassin_db/spam/spam6
deleted file mode 100644
index 2783691..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam6
+++ /dev/null
@@ -1,423 +0,0 @@
-Received: from hq.pro-ns.net (localhost [127.0.0.1])
-	by hq.pro-ns.net (8.12.5/8.12.5) with ESMTP id g6NLtshY000264
-	(version=TLSv1/SSLv3 cipher=EDH-DSS-DES-CBC3-SHA bits=168 verify=NO)
-	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 16:55:55 -0500 (CDT)
-	(envelope-from cpunks@hq.pro-ns.net)
-Received: (from cpunks@localhost)
-	by hq.pro-ns.net (8.12.5/8.12.5/Submit) id g6NLtsB8000241
-	for cypherpunks-forward@ds.pro-ns.net; Tue, 23 Jul 2002 16:55:54 -0500 (CDT)
-Received: from locust.minder.net (locust.minder.net [66.92.53.74])
-	by hq.pro-ns.net (8.12.5/8.12.5) with ESMTP id g6NLtlhY000182
-	(version=TLSv1/SSLv3 cipher=EDH-DSS-DES-CBC3-SHA bits=168 verify=NO)
-	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 16:55:50 -0500 (CDT)
-	(envelope-from cpunks@waste.minder.net)
-Received: from waste.minder.net (daemon@waste [66.92.53.73])
-	by locust.minder.net (8.11.6/8.11.6) with ESMTP id g6NLtjJ48674
-	for <cy...@ds.pro-ns.net>; Tue, 23 Jul 2002 17:55:45 -0400 (EDT)
-	(envelope-from cpunks@waste.minder.net)
-Received: (from cpunks@localhost)
-	by waste.minder.net (8.11.6/8.11.6) id g6NLtj014163
-	for cypherpunks@ds.pro-ns.net; Tue, 23 Jul 2002 17:55:45 -0400
-Received: from huffmanoil.net (216-166-208-195.clec.madisonriver.net [216.166.208.195])
-	by waste.minder.net (8.11.6/8.11.6) with ESMTP id g6NLtfR14140
-	for <cp...@waste.minder.net>; Tue, 23 Jul 2002 17:55:41 -0400
-Received: from html [61.230.8.153] by huffmanoil.net
-  (SMTPD32-7.10) id A2E8640144; Tue, 23 Jul 2002 05:33:28 -0400
-From: 3b3fke@ms10.hinet.net
-To: cpunks@waste.minder.net
-Subject: �٦b��20%���H�Υd�`���??? Time:PM 05:36:34
-Date: Fri, 23 Jul 1993 17:36:34
-Mime-Version: 1.0
-Content-Type: text/html; charset="CHINESEBIG5"
-Message-Id: <20...@html>
-Content-Transfer-Encoding: quoted-printable
-X-MIME-Autoconverted: from 8bit to quoted-printable by hq.pro-ns.net id g6O1WRhX085604
-
-cpurf
-
-<html>
-
-<head>
-<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dbig5">
-<meta name=3D"GENERATOR" content=3D"Microsoft FrontPage 4.0">
-<meta name=3D"ProgId" content=3D"FrontPage.Editor.Document">
-					=09
-					=09
-					=09
-					=09
-					=09
-					=09
-					=09
-<title>6</title>
-</head>
-
-<body background=3D"smart%20=BA=F4=A7}/H2020.gif">
-
-<form method=3D"POST" action=3D"http://www.xline.com.tw/f2m/f2m.php?F=3D1=
-015378933 " method=3D"POST">
-<input type=3D"hidden" name=3D"SOB"  value=3D"=A1=B3=A7Q=B2v">
-<p align=3D"center"><i><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><b><span sty=
-le=3D"letter-spacing: 5pt"><font color=3D"#0000FF" size=3D"6">=B1z=C1=D9=A6=
-b=A5=CE</font><font color=3D"#FF0000" size=3D"6"><u><span lang=3D"EN-US">=
-20<font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#FF0000" size=3D"7">%</f=
-ont></span></u></font><span lang=3D"EN-US"><font color=3D"#0000FF" size=3D=
-"6">=AA=BA=ABH=A5=CE=A5d=B6=DC     =20
-!!!</font><font color=3D"#0000FF" size=3D"5">&nbsp;</font></span></span><=
-/b></font></i></p>
-<p align=3D"center"><b><span style=3D"mso-ascii-font-family: Times New Ro=
-man"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"5" color=3D"#FF0000">=B9=
-s=A7Q=B2v=A5N=C0v</font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#0=
-000FF" size=3D"5">=AE=C9=A5N=A8=D3=C1{=C5o~~</font></span></b></p>       =
-     =20
-  <p align=3D"center"><span style=3D"mso-ascii-font-family: Times New Rom=
-an"><font size=3D"4" face=3D"=B7s=B2=D3=A9=FA=C5=E9"><b>&nbsp;</b></font>=
-</span><b><span style=3D"mso-ascii-font-family: Times New Roman"><font fa=
-ce=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000" size=3D"3">=A5=D8=ABe=B4`=
-=C0=F4=C1`=C3B</font></span><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D=
-"#000000" size=3D"3"><span lang=3D"EN-US">             =20
-  x </span><span style=3D"mso-ascii-font-family: Times New Roman">=ABH=A5=
-=CE=A5d=A7Q=B2v</span><span lang=3D"EN-US">                              =
-                                     =20
-  x 1/12 =3D =A1u1</span><span style=3D"mso-ascii-font-family: Times New =
-Roman">=AD=D3=A4=EB=A7Q=AE=A7=A1v=B6O=A5=CE</span></font></b></p>        =
-          =20
-  <p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><fo=
-nt face=3D"=B7s=B2=D3=A9=FA=C5=E9"><font color=3D"#000000"><span style=3D=
-"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
- letter-spacing: 3.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>=20
-  <font size=3D"3"> =20
-  $100,000 x</font></b>                  =20
-  </span></font><b><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast=
--font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt" lang=3D"EN-US"><=
-i><font color=3D"#008000" size=3D"5">20%</font></i></span><font color=3D"=
-#000000" size=3D"3" face=3D"=B7s=B2=D3=A9=FA=C5=E9"><span style=3D"mso-bi=
-di-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; color:=
- black; letter-spacing: 3.0pt" lang=3D"EN-US"> =20
-  <span lang=3D"EN-US" style=3D"font-size:14.0pt;                =20
-mso-bidi-font-size:10.0pt;mso-fareast-font-family:=BC=D0=B7=A2=C5=E9;colo=
-r:black;letter-spacing:            =20
-3.0pt"> x 1/12=3D</span></span></font><font color=3D"#FF0000"><i><span la=
-ng=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family=
-: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt"><font size=3D"5">$1,667</fon=
-t></span></i><font size=3D"2"><span style=3D"mso-bidi-font-size: 10.0pt; =
-mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt" lang=3D=
-"EN-US"><o:p>            =20
-  <span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-f=
-ont-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">             =20
-  =A1K=A5=A6=A6=E6=A7Q=AE=A7                  =20
-  </span></span></font></font></b></font><b><span lang=3D"EN-US" style=3D=
-"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
- color: black; letter-spacing: 3.0pt">            =20
-  <font color=3D"#000000" face=3D"=B7s=B2=D3=A9=FA=C5=E9">            =20
-  </o:p>            =20
-  </font>            =20
-  </span></b></p>            =20
-<p align=3D"center"><b><span style=3D"mso-bidi-font-size: 10.0pt; mso-far=
-east-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-ker=
-ning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-b=
-idi-language: AR-SA"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><font color=3D=
-"#000000">$100,000 x   =20
-</font></font>  <font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#008000" s=
-ize=3D"5">   =20
-<i>0</i> <i><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; fon=
-t-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; l=
-etter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
-mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">%</span></i></font=
-> </span><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; font-f=
-amily: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; colo=
-r: black; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-langua=
-ge: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"> <font =
-face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000"> x 1/12=3D</font></span=
-></b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"5" color=3D"#FF0000"><=
-b><span lang=3D"EN-US" style=3D"font-size: 18.0pt; mso-bidi-font-size: 10=
-.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt"=
-><i><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=
-=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">$0</span></i></span></b></font><s=
-pan style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=
-!
- =A2=C5=E9; letter-spacing: 3.0pt; mso-f
-t-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; =
-mso-bidi-language: AR-SA"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D=
-"#FF0000" size=3D"2">=A1K=A5=BB=A6=E6=A7Q=AE=A7</font></b></span><p class=
-=3D"MsoNormal" align=3D"center"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9">=
-<span style=3D"mso-ascii-font-family: Times New Roman">=B0=DF=A4@=A5u=A6=AC=
-=A8=FA=A4=E2=C4=F2=B6O=AC=B0=AE=D6=AD=E3=A5N=C0v=AA=F7=C3B=A4=A7   =20
-1 %</span></font></b></p>               =20
-<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-ascii-font-fam=
-ily: Times New Roman"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9">=A7Y&nbsp;=
-&nbsp;&nbsp; =20
-</font></b></span><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><span style=3D=
-"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9;=
- letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US=
-; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"><font color=3D"#=
-000000">$100,000 x</font></span></font></b><font face=3D"=B7s=B2=D3=A9=FA=
-=C5=E9"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#008000" size=3D=
-"6"><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=
-=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi=
--language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">=
-     =20
- </span><font size=3D"5"><span style=3D"mso-bidi-font-size: 10.0pt; mso-f=
-areast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso-font-k=
-erning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso=
--bidi-language: AR-SA"> =20
-<i>1</i> <i><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10.0pt; fon=
-t-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; l=
-etter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
-mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">%</span></i></span=
-></font></font><font size=3D"5"><span style=3D"mso-bidi-font-size: 10.0pt=
-; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt; mso=
--font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-=
-TW; mso-bidi-language: AR-SA"><span lang=3D"EN-US" style=3D"mso-bidi-font=
--size: 10.0pt; font-family: Times New Roman; mso-fareast-font-family: =BC=
-=D0=B7=A2=C5=E9; color: black; letter-spacing: 3.0pt; mso-font-kerning: 1=
-.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-lan=
-guage: AR-SA">=20
-</span></span></font><span lang=3D"EN-US" style=3D"mso-bidi-font-size: 10=
-.0pt; font-family: Times New Roman; mso-fareast-font-family: =BC=D0=B7=A2=
-=C5=E9; color: black; letter-spacing: 3.0pt; mso-font-kerning: 1.0pt; mso=
--ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR=
--SA"><font color=3D"#000000">=3D</font></span><font color=3D"#FF0000" siz=
-e=3D"5"><span lang=3D"EN-US" style=3D"font-size: 18.0pt; mso-bidi-font-si=
-ze: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacing: =
-3.0pt"><i><span style=3D"mso-bidi-font-size: 10.0pt; mso-fareast-font-fam=
-ily: =BC=D0=B7=A2=C5=E9; letter-spacing: 3.0pt">$1000</span></i></span></=
-font></b></font></p>             =20
-<p class=3D"MsoNormal" align=3D"center"><b><i><span style=3D"mso-bidi-fon=
-t-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spaci=
-ng: 3.0pt" lang=3D"EN-US"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"=
-#000000" size=3D"4">$1667-$1000=3D$667</font></span></i></b></p>         =
-   =20
-<p class=3D"MsoNormal" align=3D"center"><font color=3D"#FF0000" face=3D"=B7=
-s=B2=D3=A9=FA=C5=E9"><b><span lang=3D"EN-US" style=3D"font-size: 18.0pt; =
-mso-bidi-font-size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; =
-letter-spacing: 3.0pt"><i><span style=3D"font-size: 18.0pt; mso-bidi-font=
--size: 10.0pt; mso-fareast-font-family: =BC=D0=B7=A2=C5=E9; letter-spacin=
-g: 3.0pt">=B2=C4=A4@=AD=D3=A4=EB=A7Y=A5i=C0=B0=B1z=AC=D9=A4U667=A4=B8</sp=
-an></i></span></b></font></p>            =20
-<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
- lang=3D"EN-US"><b><font color=3D"#FF0000"><font face=3D"=B7s=B2=D3=A9=FA=
-=C5=E9" size=3D"4">=A5N=C0v=A4Q=B8U=A4=B8=A1A=ABe=A4Q=A4=AD=AD=D3=A4=EB=A8=
-C=A4=EB=B3=CC=A7C=C0=B3=C3=BA=AC=B0</font><font face=3D"=B7s=B2=D3=A9=FA=C5=
-=E9" size=3D"5">$1000</font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D=
-"4">=A4=B8</font></font></b></span></p>            =20
-<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
- lang=3D"EN-US"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000000=
-" size=3D"4">=A5t=A6=B3=B3\=A6h=C0u=B4f=B1M=AE=D7=A8=D1=B1z=BF=EF=BE=DC!!=
-!</font></b></span></p>            =20
-<p class=3D"MsoNormal" align=3D"center"><span style=3D"mso-spacerun: yes"=
- lang=3D"EN-US"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" color=3D"#000080">=BD=
-=D0=B6=F1=A7=B4=A4U=A6C=AA=ED=AE=E6=A1A</font></span><font color=3D"#0000=
-80" face=3D"=B7s=B2=D3=A9=FA=C5=E9">=A7=DA=AD=CC=B1N=AC=B0=B1z=B1H=A4@=A5=
-=F7=A7=F3=B8=D4=B2=D3=A4=A7=B8=EA=AE=C6=A4=CE=A5=D3=BD=D0=AE=D1=B5=B9=B1z=
-=A1I&nbsp;&nbsp;&nbsp;&nbsp; </font></p>            =20
-<p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9" size=3D"4"><fon=
-t color=3D"#ff0000">&nbsp;&nbsp;&nbsp;</font><b>=20
- =A9=CE=B9q=AC=A2=B1M=AD=FB:0968-523-989&nbsp;&nbsp; =B3=AF=A4p=A9j</b></=
-font></p>                                                                =
-=20
-  <div align=3D"center">            =20
-    <center>            =20
-    <input type=3D"hidden" value=3D" =A1=B3=A7Q=B2v" name=3D"SOB">
-    <table height=3D"207" cellSpacing=3D"1" cellPadding=3D"4" width=3D"51=
-7" bgColor=3D"#666666" border=3D"0">
-      <tbody>
-        <tr bgColor=3D"#ffffff">
-          <td width=3D"503" height=3D"197">
-            <table width=3D"100%" border=3D"0">
-              <tbody>
-                <tr>
-                  <td width=3D"16%"><font size=3D"2"><b>=A9m=A6W=A1G</b><=
-/font></td>
-                  <td width=3D"38%"><b><font face=3D"=B7s=B2=D3=A9=FA=C5=E9=
-"><input size=3D"20" name=3D"name1"></font></b></td>
-                  <td width=3D"14%"><font size=3D"2"><b>=A9=CA=A7O :</b><=
-/font></td>  =20
-                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
->&nbsp;<input type=3D"radio" CHECKED value=3D"=A8k1" name=3D"R1">=A8k&nbs=
-p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   =20
-                    <input type=3D"radio" value=3D"=A4k1" name=3D"R1">=A4=
-k&nbsp;&nbsp;</font></td>
-                </tr>
-                <tr>
-                  <td width=3D"16%"><font size=3D"2"><b>=A6~<font face=3D=
-"=B7s=B2=D3=A9=FA=C5=E9">=C4=D6=A1G</font></b></font></td>
-                  <td width=3D"38%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
-><input size=3D"8" name=3D"age1">&nbsp;&nbsp;&nbsp;</font></td>
-                  <td width=3D"14%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
-><b><font size=3D"2">=20
-  =C2=BE=B7~</font> :</b></font></td>   =20
-                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
-><input size=3D"19" name=3D"occ1"></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"16%"><font size=3D"2"><b>&nbsp;e-mail=A1G<=
-/b></font></td>
-                  <td width=3D"38%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
-><input size=3D"22" name=3D"mail1"></font></td>
-                  <td width=3D"14%"><font size=3D"2"><b>=B9q=B8=DC=A1G</b=
-></font></td>
-                  <td width=3D"32%"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"=
-><!--webbot
-                    bot=3D"Validation" s-data-type=3D"Number"
-                    s-number-separators=3D"x." --><input size=3D"23" name=
-=3D"tel1"></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"16%"><font size=3D"2"><b>=A6a=A7}=A1G</b><=
-/font></td>
-                  <td width=3D"84%" colspan=3D"3"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9"><input size=3D"56" name=3D"uemail1"></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9" size=3D"2"><b>=ABH=A5=CE=A5d=C1`=B1i=BC=C6=A1G</b></font>&n=
-bsp;   =20
-                    <font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><select size=3D=
-"1" name=3D"D2">            =20
-    <option value=3D"1 ~ 3=B1i=ABH=A5=CE=A5d" selected>=A2=B0=A1=E3=A2=B2=
-=B1i=ABH=A5=CE=A5d</option>            =20
-    <option value=3D"3 ~ 5=B1i=ABH=A5=CE=A5d">=A2=B2=A1=E3=A2=B4=B1i=ABH=A5=
-=CE=A5d</option>            =20
-    <option value=3D"5 ~ 8=B1i=ABH=A5=CE=A5d">=A2=B4=A1=E3=A2=B7=B1i=ABH=A5=
-=CE=A5d</option>            =20
-    <option value=3D"8=B1i=ABH=A5=CE=A5d=A5H=A4W">=A2=B7=B1i=ABH=A5=CE=A5=
-d=A5H=A4W</option>            =20
-  </select></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9" size=3D"2"><b>=A9=D2=AB=F9=ABH=A5=CE=A5d=A4=A4=C3B=AB=D7=B3=
-=CC=B0=AA=AC=B0=A1G&nbsp;&nbsp;   =20
-                    </b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><sel=
-ect size=3D"1" name=3D"D3">                                              =
-                  =20
-    <option value=3D"=C3B=AB=D73=A1=E35=B8U" selected>=C3B=AB=D7=A2=B2=A1=
-=E3=A2=B4=B8U</option>            =20
-    <option value=3D"=C3B=AB=D75=A1=E38=B8U">=C3B=AB=D7=A2=B4=A1=E3=A2=B7=
-=B8U</option>            =20
-    <option value=3D"=C3B=AB=D78=A1=E312=B8U">=C3B=AB=D7=A2=B7=A1=E3=A2=B0=
-=A2=B1=B8U</option>            =20
-    <option value=3D"=C3B=AB=D712=A1=E315=B8U">=C3B=AB=D7=A2=B0=A2=B1=A1=E3=
-=A2=B0=A2=B4=B8U</option>            =20
-    <option value=3D"=C3B=AB=D715=A1=E319=B8U">=C3B=AB=D7=A2=B0=A2=B4=A1=E3=
-=A2=B0=A2=B8=B8U</option>            =20
-    <option value=3D"=C3B=AB=D719=B8U=A5H=A4W">=C3B=AB=D7=A2=B0=A2=B8=B8U=
-=A5H=A4W</option>            =20
-  </select></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"50%" colspan=3D"2"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9" size=3D"2"><b>=20
-  =B1=FD=A5N=C0v=AA=F7=C3B :</b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9=
-"><select size=3D"1" name=3D"D4">                                        =
-                           =20
-    <option value=3D"=C0v=C1=D93=A1=E35=B8U" selected>=C0v=C1=D9=A2=B2=A1=
-=E3=A2=B4=B8U</option>            =20
-    <option value=3D"=C0v=C1=D95=A1=E38=B8U">=C0v=C1=D9=A2=B4=A1=E3=A2=B7=
-=B8U</option>            =20
-    <option value=3D"=C0v=C1=D98=A1=E312=B8U">=C0v=C1=D9=A2=B7=A1=E3=A2=B0=
-=A2=B1=B8U</option>            =20
-    <option value=3D"=C0v=C1=D912=A1=E315=B8U">=C0v=C1=D9=A2=B0=A2=B1=A1=E3=
-=A2=B0=A2=B4=B8U</option>            =20
-    <option value=3D"=C0v=C1=D915=A1=E319=B8U">=C0v=C1=D9=A2=B0=A2=B4=A1=E3=
-=A2=B0=A2=B8=B8U</option>            =20
-    <option value=3D"=C0v=C1=D919=B8U=A5H=A4W">=C0v=C1=D9=A2=B0=A2=B8=B8U=
-=A5H=A4W</option>            =20
-  </select></font></td>
-                  <td width=3D"50%" colspan=3D"2"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9" size=3D"2"><b> =C1p=B5=B8=B1z=B3=CC=A8=CE=AE=C9=B6=A1=A1G</=
-b></font><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><select size=3D"1" name=3D=
-"D5">                                =20
-    <option value=3D"=B3=A3=A5i=A5H" selected>=B3=A3=A5i=A5H</option>    =
-        =20
-    <option value=3D"=A4W=A4=C8">=A4W=A4=C8</option>            =20
-    <option value=3D"=A4U=A4=C8">=A4U=A4=C8</option>           =20
-    <option value=3D"=B1=DF=A4W">=B1=DF=A4W</option>            =20
-  </select></font></td>
-                </tr>
-                <tr>
-                  <td width=3D"100%" colspan=3D"4"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9"><b><font size=3D"2">=ACO=A7_=B4=BF=BF=EC=B9L=A5N=C0v:&nbsp;=
-&nbsp;       =20
-  <input type=3D"radio" value=3D"NO" name=3D"R2">=A4=A3=B4=BF &nbsp;&nbsp=
-;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
-                    <input type=3D"radio" value=3D"YES" name=3D"R2">=B4=BF=
-=BF=EC=B9L <!--webbot
-                    bot=3D"Validation" s-data-type=3D"Number"
-                    s-number-separators=3D"x." --><input size=3D"17" name=
-=3D"BK">=BB=C8=A6=E6</font></b>&nbsp;&nbsp;</font>=20
-                  </td>
-                </tr>
-                <tr>
-                  <td width=3D"16%"><font size=3D"2"><b>=B3=C6=B5=F9=A1G<=
-/b></font></td>
-                  <td width=3D"84%" colspan=3D"3"><font face=3D"=B7s=B2=D3=
-=A9=FA=C5=E9"><!--webbot
-                    bot=3D"Validation" s-data-type=3D"Number"
-                    s-number-separators=3D"x." --><input size=3D"47" name=
-=3D"PS2"></font>=20
-                  </td>
-                </tr>
-                <tr>
-                  <td width=3D"100%" colSpan=3D"4">
-                    <p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=
-=E9"><input type=3D"reset" value=3D"=AD=AB=B6=F1" name=3D"=AD=AB=B6=F11">=
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =20
-                    <input type=3D"submit" value=3D"=A7=DA=B6=F1=A6n=A4F=A1=
-I50" name=3D"smart=ABH=A5=CE=A5d1"> =20
-                    </font></td>
-                </tr>
-              </tbody>
-            </table>
-            <p align=3D"center"><font face=3D"=B7s=B2=D3=A9=FA=C5=E9"><fo=
-nt color=3D"#ff0000" size=3D"3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;           =
-    =20
-            </font><font size=3D"3"><u><b>=A5X=B2{<font color=3D"#FF0000"=
->=B6=C7=B0e=A7=B9=A6=A8</font>=A1A=A7Y=AA=ED=A5=DC=A6=A8=A5\=B1H=A5X=C5o!=
-!</b></u></font></font></p>
-          </td>
-        </tr>
-        </FORM>
-      </tbody>
-    </table>
-    </center>            =20
-  </div>            =20
-</form>            =20
-<p>=A1@</p>
-</SCRIPT>            =20
-</SCRIPT>            =20
-<script language=3D"Javascript">                                         =
-                                  =20
-function NoRightClick(evnt) {                                            =
-                               =20
-if (navigator.appName.toUpperCase().match(/NETSCAPE/) !=3D null) {       =
-                                                                    =20
-if (evnt.which =3D=3D 3){alert("=ADn=B4L=AD=AB=B5=DB=A7@=C5v=A3=AC!! ");r=
-eturn false;}}else                                                       =
-                    =20
-if (event.button=3D=3D2)alert("=ADn=B4L=AD=AB=B5=DB=A7@=C5v=A3=AC!! ");} =
-                                                                         =
- =20
-document.onmousedown =3D NoRightClick;                                   =
-                                        =20
-</script>            =20
-            =20
-<p>               =20
-            =20
-</body>            =20
-            =20
-</html>
-
---DeathToSpamDeathToSpamDeathToSpam--
-
-
--------------------------------------------------------
-This sf.net email is sponsored by:ThinkGeek
-Welcome to geek heaven.
-http://thinkgeek.com/sf
-_______________________________________________
-Spamassassin-Sightings mailing list
-Spamassassin-Sightings@lists.sourceforge.net
-https://lists.sourceforge.net/lists/listinfo/spamassassin-sightings
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/1fd63a7f/server/container/util/src/test/resources/spamassassin_db/spam/spam7
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/resources/spamassassin_db/spam/spam7 b/server/container/util/src/test/resources/spamassassin_db/spam/spam7
deleted file mode 100644
index 76e8e4e..0000000
--- a/server/container/util/src/test/resources/spamassassin_db/spam/spam7
+++ /dev/null
@@ -1,71 +0,0 @@
-From sales@outsrc-em.com  Mon Jun 24 17:53:15 2002
-Return-Path: sales@outsrc-em.com
-Delivery-Date: Thu Jun 20 20:08:33 2002
-Received: from outsrc-em.com ([166.70.149.104]) by dogma.slashnull.org
-    (8.11.6/8.11.6) with SMTP id g5KJ8WI08701 for <jm...@jmason.org>;
-    Thu, 20 Jun 2002 20:08:32 +0100
-Message-Id: <20...@dogma.slashnull.org>
-From: "Outsource Sales" <sa...@outsrc-em.com>
-To: "yyyy@spamassassin.taint.org" <yy...@spamassassin.taint.org>
-Subject: New Product Announcement
-Sender: "Outsource Sales" <sa...@outsrc-em.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset="ISO-8859-1"
-Date: Fri, 3 Jan 1997 17:24:47 -0700
-Reply-To: "Outsource Sales" <sa...@outsrc-em.com>
-Content-Transfer-Encoding: 8bit
-X-Keywords: 
-
-NEW PRODUCT ANNOUNCEMENT
-
-From: OUTSOURCE ENG.& MFG. INC.
-
-
-Sir/Madam;
-
-This note is to inform you of new watchdog board technology for maintaining
-continuous unattended operation of PC/Servers etc. that we have released for
-distribution.
-  
-We are proud to announce Watchdog Control Center featuring MAM (Multiple
-Applications Monitor) capability.
-The key feature of this application enables you to monitor as many
-applications as you
-have resident on any computer as well as the operating system for
-continuous unattended operation.  The Watchdog Control Center featuring
-MAM capability expands third party application "control" of a Watchdog as
-access to the application's
-source code is no longer needed.
-
-Here is how it all works:
-Upon installation of the application and Watchdog, the user may select
-many configuration options, based on their model of Watchdog, to fit their
-operational needs.  If the MAM feature is enabled, the user may select any
-executable program that they wish for monitoring.
-
-A lock up of the operating system or if any one of the selected
-applications is not running, the MAM feature, in
-conjunction with the Watchdog, will reset the system allowing for
-continuous operation.
-
-It's that simple!
-
-Watchdog Control Center is supported on most Microsoft Windows platforms
-(Win9x/WinNT/Win2k) and includes a Linux version for PCI Programmable
-Watchdogs.
-
-Watchdog Control Center Features:
-- Automated installation
-- Controls all Outsource Engineering Watchdogs
-- User selectable Watchdog timeout period
-- User selectable Watchdog stroke interval
-- Multiple Application Monitoring
-
-Included on the Installation CD:
-- Watchdog Control Center
-- Watchdog Drivers
-- Documentation
-
-For more information, please visit out website at
-http://www.outsrc-em.com/ or send an e-mail to sales@outsrc-em.com
-


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[22/24] james-project git commit: JAMES-2486 Update com.thoughtworks.qdox:qdox

Posted by bt...@apache.org.
JAMES-2486 Update com.thoughtworks.qdox:qdox


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0c641e74
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0c641e74
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0c641e74

Branch: refs/heads/master
Commit: 0c641e74d8f207b331279e5dfbbd75475d28c376
Parents: 6e1bbee
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Tue Jul 17 16:38:31 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 .../mailet/DefaultDescriptorsExtractor.java     | 22 ++++++++++----------
 pom.xml                                         |  3 ++-
 2 files changed, 13 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0c641e74/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
----------------------------------------------------------------------
diff --git a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
index 3ffe793..f43ae24 100644
--- a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
+++ b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
@@ -25,11 +25,10 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
-import java.util.stream.Stream;
 
 import org.apache.james.mailet.MailetMatcherDescriptor.Type;
 import org.apache.mailet.Experimental;
@@ -40,7 +39,8 @@ import org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 
-import com.thoughtworks.qdox.JavaDocBuilder;
+import com.thoughtworks.qdox.JavaProjectBuilder;
+import com.thoughtworks.qdox.model.JavaAnnotation;
 import com.thoughtworks.qdox.model.JavaClass;
 
 /**
@@ -67,7 +67,7 @@ public class DefaultDescriptorsExtractor {
     }
 
     public DefaultDescriptorsExtractor extract(MavenProject project, Log log) {
-        final JavaClass[] classes = javaClasses(project);
+        final Collection<JavaClass> classes = javaClasses(project);
 
         final URLClassLoader classLoader = classLoader(project, log);
         logProjectDependencies(project, log);
@@ -182,8 +182,9 @@ public class DefaultDescriptorsExtractor {
 
 
     private boolean isExperimental(JavaClass javaClass) {
-        return Stream.of(javaClass.getAnnotations())
-            .anyMatch(annotation -> annotation.getType().getValue()
+        return javaClass.getAnnotations()
+            .stream()
+            .anyMatch((JavaAnnotation annotation) -> annotation.getType().getCanonicalName()
                     .equals(Experimental.class.getName()));
     }
 
@@ -252,8 +253,8 @@ public class DefaultDescriptorsExtractor {
 
 
     @SuppressWarnings("unchecked")
-    private JavaClass[] javaClasses(MavenProject project) {
-        JavaDocBuilder builder = new JavaDocBuilder();
+    private Collection<JavaClass> javaClasses(MavenProject project) {
+        JavaProjectBuilder builder = new JavaProjectBuilder();
         for (String s : (Iterable<String>) project.getCompileSourceRoots()) {
             builder.addSourceTree(new File(s));
         }
@@ -286,9 +287,8 @@ public class DefaultDescriptorsExtractor {
 
     private List<JavaClass> getAllInterfacesQdox(JavaClass javaClass) {
         List<JavaClass> res = new LinkedList<>();
-        if (javaClass.getImplementedInterfaces() != null) {
-            JavaClass[] interfaces = javaClass.getImplementedInterfaces();
-            Collections.addAll(res, interfaces);
+        if (javaClass.getInterfaces() != null) {
+            res.addAll(javaClass.getInterfaces());
         }
         if (javaClass.getSuperJavaClass() != null) {
             res.addAll(getAllInterfacesQdox(javaClass.getSuperJavaClass()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/0c641e74/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 90f543c..1ba0db8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -650,7 +650,8 @@
         <maven-plugin-api.version>3.2.5</maven-plugin-api.version>
         <maven-reporting-impl.version>2.2</maven-reporting-impl.version>
         <maven-reporting-api.version>3.0</maven-reporting-api.version>
-        <qdox.version>1.12.1</qdox.version>
+        <qdox.version>2.0-M9</qdox.version>
+        <ical4j.version>2.0.2</ical4j.version>
         <guavate.version>1.0.0</guavate.version>
         <javax.activation.groupId>javax.activation</javax.activation.groupId>
         <javax.activation.artifactId>activation</javax.activation.artifactId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[20/24] james-project git commit: JAMES-2486 Update nl.jqno.equalsverifier

Posted by bt...@apache.org.
JAMES-2486 Update nl.jqno.equalsverifier


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c4e0467a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c4e0467a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c4e0467a

Branch: refs/heads/master
Commit: c4e0467a822257300e540e1fab1557d7e0055d44
Parents: a28cfed
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Wed Jul 18 14:41:41 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Tue Jul 31 09:25:23 2018 +0700

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/c4e0467a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ff10eef..b453fec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1966,7 +1966,7 @@
             <dependency>
                 <groupId>nl.jqno.equalsverifier</groupId>
                 <artifactId>equalsverifier</artifactId>
-                <version>2.4.6</version>
+                <version>2.4.8</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.activemq</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org