10. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 5/25/2018 9:21:41 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

10.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\ZIP\DSM-cif\Direct Implementation\java\assembly\stock\src\scripts config.xml Tue May 22 13:19:42 2018 UTC
2 C:\AraxisMergeCompare\Pri_re\ZIP\DSM-cif\Direct Implementation\java\assembly\stock\src\scripts config.xml Wed May 23 16:19:52 2018 UTC

10.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 2946
Changed 1 4
Inserted 0 0
Removed 0 0

10.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

10.4 Active regular expressions

No regular expressions were active.

10.5 Comparison detail

  1   <?xml 
  2     version="1 .0"
  3   ?>
  4   <!DOCTYPE  config [
  5   <!ENTITY l istserverC onfig SYST EM "../con f/james-li stmanager. xml">
  6   <!ENTITY l istserverS tores SYST EM "../con f/james-li ststores.x ml">
  7   <!ENTITY f etchmailCo nfig SYSTE M "../conf /james-fet chmail.xml ">
  8   <!ENTITY s mtphandler chainConfi g SYSTEM " ../conf/ja mes-smtpha ndlerchain .xml">
  9   ]>
  10   <!-- 
  11    Licensed  to the Apa che Softwa re Foundat ion (ASF)  under one    
  12    or more c ontributor  license a greements.   See the  NOTICE fil
  13    distribut ed with th is work fo r addition al informa tion         
  14    regarding  copyright  ownership .  The ASF  licenses  this file    
  15    to you un der the Ap ache Licen se, Versio n 2.0 (the              
  16    "License" ); you may  not use t his file e xcept in c ompliance    
  17    with the  License.   You may ob tain a cop y of the L icense at    
  18                                                                        
  19      http:// www.apache .org/licen ses/LICENS E-2.0                   
  20                                                                        
  21     Unless r equired by  applicabl e law or a greed to i n writing,    
  22    software  distribute d under th e License  is distrib uted on an   
  23    "AS IS" B ASIS, WITH OUT WARRAN TIES OR CO NDITIONS O F ANY        
  24    KIND, eit her expres s or impli ed.  See t he License  for the     
  25    specific  language g overning p ermissions  and limit ations       
  26    under the  License.   
  27   -->
  28   <!--  Conf iguration  file for t he ASF Jam es server  -->
  29  
  30   <!--  This  file cont ains impor tant setti ngs that c ontrol the  behaviour  -->
  31   <!--  of a ll of the  services a nd reposit ories. -->
  32  
  33   <!--                                  READM E!                               -->
  34  
  35   <!-- This  configurat ion file i s designed  to run wi thout alte ration for  simple te sts. -->
  36   <!-- It as sumes you  have a DNS  server on  localhost  and assig ns a root  password o f root. -- >
  37  
  38   <!-- In ca se the def aults do n ot suit yo u, the ite ms you are  most like ly to need  to change  -->
  39   <!-- are p receded by  a CHECKME ! or CONFI RM? commen t in the l eft margin . -->
  40  
  41   <!-- For p roduction  use you wi ll probabl y need to  make more  extensive  changes, s ee -->
  42   <!-- http: //james.ap ache.org/s erver/2.3. 0/ -->
  43  
  44   <!-- $Revi sion: 7766 55 $ Commi tted on $D ate: 2009- 05-20 11:4 3:57 +0100  (Wed, 20  May 2009)  $ by: $Aut hor: rdonk in $ -->
  45  
  46   <config>
  47      <James>
  48  
  49   <!-- CHECK ME! -->
  50         <!--  This is t he postmas ter email  address fo r this mai l server.  -->
  51         <!--  Set this  to the app ropriate e mail addre ss for err or reports  -->
  52         <!--  If this i s set to a  non-local  email add ress, the  mail serve r -->
  53         <!--  will stil l function , but will  generate  a warning  on startup . -->
  54         <pos tmaster>Po stmaster@l ocalhost</ postmaster >
  55  
  56         <!--  servernam es identif ies the DN S namespac e served b y this ins tance of J ames. -->
  57         <!--  These ser vernames a re used fo r both mat cher/maile t processi ng and SMT P auth -->
  58         <!--  to determ ine when a  mail is i ntended fo r local de livery. -- >
  59         <!--  -->
  60         <!--  If autode tect is TR UE, James  wil attemp t to disco ver its ow n host nam e AND -->
  61         <!--  use any e xplicitly  specified  servername s. -->
  62         <!--  If autode tect is FA LSE, James  will use  only the s pecified s ervernames . -->
  63         <!--  -->
  64         <!--  If autode tectIP is  not FALSE,  James wil l also all ow add the  IP addres s for each  servernam e. -->
  65         <!--  The autom atic IP de tection is  to suppor t RFC 2821 , Sec 4.1. 3, address  literals.  -->
  66         <!--  -->
  67         <!--  To overri de autodet ected serv er names s imply add  explicit s ervername  elements.  -->
  68         <!--  In most c ases this  will be ne cessary. - ->
  69         <!--  By defaul t, the ser vername 'l ocalhost'  is specifi ed. This c an be remo ved, if re quired. -- >
  70         <!--  -->
  71         <!--  Warning:  If you are  using fet chmail it  is importa nt to incl ude the -- >
  72         <!--  fetched d omains in  the server  name list  to preven t looping.        -->
  73         <ser vernames a utodetect= "true" aut odetectIP= "true">
  74   <!-- CONFI RM? -->
  75            < servername >localhost </serverna me>
  76         </se rvernames>
  77  
  78         <!--  Set wheth er user na mes are ca se sensiti ve or case  insensiti ve -->
  79         <!--  Set wheth er to enab le local a liases -->
  80         <!--  Set wheth er to enab le forward ing -->
  81         <use rnames ign oreCase="t rue" enabl eAliases=" true" enab leForwardi ng="true"/ >
  82  
  83         <!--  The inbox  repositor y is the l ocation fo r users in boxes -->
  84         <!--  Default s etting: fi le based r epository  - enter pa th ( use   "file:///"  for absol ute) -->
  85         <inb oxReposito ry>
  86            < repository  destinati onURL="fil e://var/ma il/inboxes /" type="M AIL"/>
  87         </in boxReposit ory>
  88  
  89         <!--  Alternati ve inbox r epository  definition  for DB us e. -->
  90         <!--  The forma t for the  destinatio nURL is "d b://<data- source>/<t able>" -->
  91         <!--  <data-sou rce> is th e datasour ce name se t up in th e database -connectio ns block,  below -->
  92         <!--  <table> i s the name  of the ta ble to sto re user in boxes in - ->
  93         <!--  The user  name is us ed as <rep ositoryNam e> for thi s reposito ry config.  -->
  94         <!--
  95         <inb oxReposito ry>
  96            < repository  destinati onURL="db: //maildb/i nbox/" typ e="MAIL"/>
  97         </in boxReposit ory>
  98         -->
  99  
  100         <!--  Alternati ve inbox r epository  definition  for DB us e. -->
  101         <!--  Stores me ssage body  in file s ystem, res t in datab ase -->
  102         <!--  
  103         <inb oxReposito ry>
  104            < repository  destinati onURL="dbf ile://mail db/inbox/"  type="MAI L"/>
  105         </in boxReposit ory>
  106         -->
  107  
  108         <!--  Alternati ve inbox r epository  definition  for mbox  use. -->
  109         <!--  This meth od uses UN IX standar d mbox fil es and is  meant for  people usi ng mbox fi les -->
  110         <!--  with syst ems such a s mail lis t archive  displayers  -->
  111         <!--  Note that  dot-locki ng is not  currently  supported  -->
  112         <!--  so networ k (write)  accesses m ay cause m box corrup tion -->
  113         <!--  the sampl e mbox URL  is an abs olute URL;  mbox:///v ar/mail wi ll put the  users mbo x files in  /var/mail /-->
  114         <!--
  115         <inb oxReposito ry>
  116            < repository  destinati onURL="mbo x:///var/m ail/" type ="MAIL"/>
  117         </in boxReposit ory>
  118         -->
  119      </James >
  120  
  121      <!-- Th is is an e xample con figuration  for Fetch Mail, a Ja vaMail bas ed gateway   -->
  122      <!-- se rvice that  pulls mes sages from  other sou rces, and  inserts th em into th e -->
  123      <!-- sp ool.  They  are then  processed  normally,  although F etchMail g enerally     -->
  124      <!-- ha s to fabri cate some  of the env elope info rmation.   FetchMail  should be    -->
  125      <!-- co nsidered a  mail gate way, rathe r than a r elay, in R FC terms.               -->
  126      <!-- Fe tchmail is  a functio nally rich er replace ment for F etchPOP.                -->
  127      <!-- CH ECKME: Fet chMail is  disabled b y default,  and must  be configu red to use . -->
  128      <!-- Ed it the fil e referred  to by fet chmailConf ig to enab le and con figure.      -->
  129      &fetchm ailConfig;
  130  
  131      <!-- Se t the Java  packages  from which  to load m ailets and  matchers  -->
  132      <mailet packages>
  133         <mai letpackage >org.apach e.james.tr ansport.ma ilets</mai letpackage >
  134         <mai letpackage >org.apach e.james.tr ansport.ma ilets.smim e</mailetp ackage>
  135         <mai letpackage >org.nhind irect.gate way.smtp.j ames.maile t</mailetp ackage>
  136         <mai letpackage >org.nhind .james.mai let</maile tpackage>
  137      </maile tpackages>
  138      <matche rpackages>
  139         <mat cherpackag e>org.apac he.james.t ransport.m atchers</m atcherpack age>
  140         <mat cherpackag e>org.apac he.james.t ransport.m atchers.sm ime</match erpackage>
  141         <mat cherpackag e>org.nhin direct.gat eway.smtp. james.matc her</match erpackage>
  142         <mat cherpackag e>org.nhin d.james.ma tcher</mat cherpackag e>
  143      </match erpackages >
  144  
  145      <!-- Th e James Sp ool Manage r block  - ->
  146      <!-- -- >
  147      <!-- Th is block i s responsi ble for pr ocessing m essages on  the spool . -->
  148      <spoolm anager>
  149         <!--  Number of  spool thr eads -->
  150         <thr eads> 10 < /threads>
  151  
  152         <!--  The root  processor  is a requi red proces sor - Jame s routes a ll mail on  the spool  -->
  153         <!--  through t his proces sor first.  -->
  154         <!--  -->
  155         <!--  This conf iguration  is a sampl e configur ation for  the root p rocessor.  -->
  156         <pro cessor nam e="root">
  157  
  158            < !-- This m ailet redi rects mail  for the u ser 'postm aster' at  any local  domain to  -->
  159            < !-- the po stmaster a ddress spe cified for  the serve r. The pos tmaster ad dress -->
  160            < !-- is req uired by r fc822. Do  not remove  this mail et unless  you are me eting -->
  161            < !-- this r equirement  through o ther means  (e.g. a X ML/JDBCVir tualUserTa ble mailet ) -->
  162            < mailet mat ch="All" c lass="Post masterAlia s"/>
  163  
  164            < !-- Checks  that the  email Send er is asso ciated wit h a valid  domain. -- >
  165            < !-- Useful  for detec ting and e liminating  spam. -->
  166            < !-- For th is block t o function , the spam  processor  must be c onfigured.  -->
  167            < !--
  168            < mailet mat ch="Sender InFakeDoma in=64.55.1 05.9,64.94 .110.11,19 4.205.62.1 22,194.205 .62.62,195 .7.77.20,2 06.253.214 .102,212.1 81.91.6,21 9.88.106.8 0,194.205. 62.42,216. 35.187.246 ,203.119.4 .6" class= "ToProcess or">
  169                <process or> spam < /processor >
  170            < /mailet>
  171            - ->
  172  
  173            < !-- Import ant check  to avoid l ooping -->
  174            < mailet mat ch="RelayL imit=30" c lass="Null "/>
  175  
  176            < !-- Check  for viruse s -->
  177            < !-- -->
  178            < !-- Does a n antiviru s scan che ck using a  ClamAV da emon (CLAM D). -->
  179            < !-- -->
  180            < !-- Intera cts direct ly with th e daemon u sing the " stream" me thod, -->
  181            < !-- which  should hav e the lowe st possibl e overhead . -->
  182            < !-- The CL AMD daemon  will typi cally resi de on loca lhost, but  could res ide on a - ->
  183            < !-- differ ent host.  -->
  184            < !-- It may  also cons ist on a s et of mult iple daemo ns, each r esiding on  a differe nt -->
  185            < !-- server  and on di fferent IP  number. - ->
  186            < !-- In suc h case a D NS host na me with mu ltiple IP  addresses  (round-rob in load sh aring) -->
  187            < !-- is sup ported by  the mailet  (but on t he same po rt number) . -->
  188            < !-- -->
  189            < !-- Handle s the foll owing init  parameter s: -->
  190            < !-- <debug > -->
  191            < !-- <host> : the host  name of t he server  where CLAM D runs. It  can eithe r be -->
  192            < !--     a  machine na me, such a s -->
  193            < !--     "j ava.sun.co m", or a t extual rep resentatio n of its - ->
  194            < !--     IP  address.  If a liter al IP addr ess is sup plied, onl y the -->
  195            < !--     va lidity of  the addres s format i s checked.  -->
  196            < !--     If  the machi ne name re solves to  multiple I P addresse s, round-r obin load  sharing wi ll -->
  197            < !--     be  used. -->
  198            < !--     Th e default  is "localh ost". -->
  199            < !-- <port> : the port  on which  CLAMD list ens. The d efault is  "3310". -- >
  200            < !-- <maxPi ngs>: the  maximum nu mber of co nnection r etries dur ing startu p. -->
  201            < !--     If  the value  is "0" no  startup t est will b e done. -- >
  202            < !--     Th e default  is "6". -- >
  203            < !-- <pingI ntervalMil li>: the i nterval (i n millisec onds) -->
  204            < !--     be tween each  connectio n retry du ring start up. -->
  205            < !--     Th e default  is "30000"  (30 secon ds). -->
  206            < !-- <strea mBufferSiz e>: the Bu fferedOutp utStream b uffer size  to use  - ->
  207            < !--     wr iting to t he stream  connection . The defa ult is "81 92". -->
  208            < !--
  209            < mailet mat ch="All" c lass="Clam AVScan" on MailetExce ption="ign ore">
  210                <debug>  true </deb ug>
  211            < /mailet> 
  212            - ->
  213  
  214            < !-- If inf ected go t o virus pr ocessor -- >
  215            < mailet mat ch="HasMai lAttribute WithValue= org.apache .james.inf ected, tru e" class=" ToProcesso r">
  216                <process or> virus  </processo r>
  217            < /mailet>
  218  
  219            < !-- Check  attachment  extension s for poss ible virus es -->
  220            < !-- The "- z" option  requests t he check t o be non-r ecursively  applied - ->
  221            < !-- to the  contents  of any att ached '*.z ip' file.  -->
  222            < !-- 
  223            < mailet mat ch="Attach mentFileNa meIs=-d -z  *.exe *.c om *.bat * .cmd *.pif  *.scr *.v bs *.avi * .mp3 *.mpe g *.shs" c lass="Boun ce" onMatc hException ="error">
  224                <inline> heads</inl ine>
  225                <attachm ent>none</ attachment >
  226                <passThr ough>false </passThro ugh>
  227                <prefix> [REJECTED] </prefix>
  228                <notice>
  229   The Securi ty Policy  of XXX doe s not allo w to forwa rd message s containi ng attachm ents havin g any of t he extensi ons .exe,  .com, .bat , .cmd, .p if, .scr,  .vbs, .avi , .mp3, .m peg, .shs,  therefore  your mess age has be en rejecte d.
  230  
  231   Please don 't reply t o this e-m ail as it  has been a utomatical ly sent by  the antiv irus syste m.
  232  
  233   Regards, P ostmaster  XXX.YYY
  234   .......... .......... .......... .......
  235                </notice >
  236            < /mailet>
  237            - ->
  238  
  239            < !-- Whitel ist Manage ment -->
  240            < !-- Manage s for each  local use r a "white  list" of  remote add resses who se message s -->
  241            < !-- should  never be  blocked as  spam. -->
  242            < !-- -->
  243            < !-- If <au tomaticIns ert> is tr ue, it wil l check, f or a local  sender, i f a remote  recipient  -->
  244            < !-- is alr eady in th e list: if  not, it w ill be aut omatically  inserted.  -->
  245            < !-- This i s under th e interpre tation tha t if a loc al sender  X sends a  message to  a -->
  246            < !-- remote  recipient  Y, then l ater on if  a message  is sent b y Y to X i t should b e -->
  247            < !-- consid ered alway s valid an d never bl ocked; hen ce Y shoul d be in th e white li st -->
  248            < !-- of X.  -->
  249            < !-- -->
  250            < !-- Anothe r mode of  operations  is when a  local sen der sends  a message  to <whitel istManager Address> - ->
  251            < !-- with o ne of thre e specific  values in  the subje ct, to -->
  252            < !-- (i) se nd back a  message di splaying a  list of t he address es in his  own list ( <displayFl ag>); -->
  253            < !-- (ii) i nsert some  new addre sses in hi s own list  (<insertF lag>); -->
  254            < !-- (iii)  remove som e addresse s from his  own list  (<removeFl ag>). -->
  255            < !-- In all  of the th ree above  cases the  message wi ll be ghos ted and th e postmast er will re ply -->
  256            < !-- to the  sender. - ->
  257            < !-- -->
  258            < !-- The se nder name  is always  converted  to its pri mary name  (handling  aliases).  -->
  259            < !--
  260            < mailet mat ch="SMTPAu thSuccessf ul" class= "WhiteList Manager" o nMailetExc eption="ig nore">
  261                <reposit oryPath>db ://maildb< /repositor yPath>
  262                <automat icInsert>t rue</autom aticInsert >
  263                <whiteli stManagerA ddress>whi telist.man ager@xxx.y yy</whitel istManager Address>
  264                <display Flag>displ ay</displa yFlag>
  265                <insertF lag>insert </insertFl ag>
  266                <removeF lag>remove </removeFl ag>
  267            < /mailet>
  268            - ->
  269  
  270            < !-- "not s pam" bayes ian analys is feeder.  -->
  271            < !--
  272            < mailet mat ch="Recipi entIs=not. spam@xxx.y yy" class= "BayesianA nalysisFee der">
  273                <reposit oryPath> d b://maildb  </reposit oryPath>
  274                <feedTyp e>ham</fee dType>
  275                <maxSize >200000</m axSize>
  276            < /mailet>
  277            - ->
  278        
  279            < !-- "spam"  bayesian  analysis f eeder. -->
  280            < !--
  281            < mailet mat ch="Recipi entIs=spam @xxx.yyy"  class="Bay esianAnaly sisFeeder" >
  282                <reposit oryPath> d b://maildb  </reposit oryPath>
  283                <feedTyp e>spam</fe edType>
  284                <maxSize >200000</m axSize>
  285            < /mailet>
  286            - ->
  287  
  288            < !-- sample  SMIME mai lets confi guration - ->
  289            < !-- In ord er to use  SMIME capa bilities y ou need to  install t he bouncyc astle JCE  -->
  290            < !-- provid er in your  environme nt (james/ lib) -->
  291            < !-- e.g: b cprov-jdk1 4-129.jar  from http: //www.boun cycastle.o rg/latest_ releases.h tml -->
  292            < !-- 
  293            < mailet mat ch="IsSMIM EEncrypted " class="S MIMEDecryp t">
  294                <keyStor eType>pkcs 12</keySto reType>
  295                <keyStor eFileName> c:/path.pf x</keyStor eFileName>
  296                <keyStor ePassword> myKeyStore Pass</keyS torePasswo rd>
  297                <keyAlia s>myKeyAli as</keyAli as>
  298                <keyAlia sPassword> myKeyPass< /keyAliasP assword>
  299            < /mailet>
  300            
  301            < mailet mat ch="IsSMIM ESigned" c lass="SMIM ECheckSign ature">
  302                <keyStor eType>pkcs 12</keySto reType>
  303                <keyStor eFileName> c:/path.pf x</keyStor eFileName>
  304                <keyStor ePassword> myKeyStore Pass</keyS torePasswo rd>
  305                <strip>f alse</stri p>
  306                <onlyTru sted>true< /onlyTrust ed>
  307            < /mailet>
  308            - ->
  309  
  310            < !--
  311            < mailet mat ch="All" c lass="XMLV irtualUser Table">
  312                <!- 1:1  mapping ->
  313                <mapping >morgoth@m iddle-eart h=sauron@m ordor</map ping>
  314                <!- 1:n  mapping ->
  315                <mapping >istari@mi ddle-earth =saruman@i sengard;ra digast;gan dalf</mapp ing>
  316                <!- DSN  mapping ->
  317                <mapping >boromir@o sgilliath= error:550  Requested  action not  taken: no  such user  here</map ping>
  318                <!- rege x based ma pping ->
  319                <mapping >*@osgilli ath=regex: (.*)@osgil liath:${1} @minas-tir ith</mappi ng>
  320                <!- both  standard  and regex  mapping ->
  321                <mapping >ring@*=on ering@mord or;regex:r ing@(.*):r ing@${1}</ mapping>
  322                <!- cond itional re gex mappin g example  ->
  323                <mapping >*@listser ver=regex: (.*)-on@li stserver:$ {1}-subscr ibe@listse rver;
  324                                        regex: (.*)-off@l istserver: ${1}-unsub scribe@lis tserver
  325                </mappin g>
  326            < /mailet>
  327            - ->
  328  
  329            < !-- Anti-s pam proces sing -->
  330            < !-- The fo llowing tw o entries  avoid doub le anti-sp am analysi s -->
  331            < !-- for fo rwarded me ssages. -- >
  332            < !-- Has sp am checkin g already  been done?  -->
  333            < mailet mat ch="HasMai lAttribute =spamCheck ed" class= "ToProcess or">
  334                <process or> transp ort </proc essor>
  335            < /mailet>
  336            < !-- Spam c hecking wi ll not be  done twice  -->
  337            < mailet mat ch="All" c lass="SetM ailAttribu te">
  338                <spamChe cked>true< /spamCheck ed>
  339            < /mailet>
  340  
  341            < !-- White  List:
  342                  If you  use block  lists, yo u will pro bably want  to check
  343                  for kn own permit ted sender s.  This i s particul arly true
  344                  if you  use more  aggressive  block lis ts, such a s SPEWS,
  345                  that a re prone t o block en tire subne ts without  regard
  346                  for no n-spamming  senders.
  347            - ->
  348  
  349            < !-- Messag es from au thenticate d senders  never are  spam -->
  350            < mailet mat ch="SMTPAu thSuccessf ul" class= "ToProcess or">
  351                <process or> transp ort </proc essor>
  352            < /mailet>
  353  
  354            < !-- Messag es signed  by trusted  users nev er are spa m -->
  355            < !-- Uncomm enting the  following  entry, me ssages wit h valid si gnatures w ill never  be conside red spam.  -->
  356            < !-- This c an be a va lid policy  *if* SMIM ECheckSign ature was  invoked -- >
  357            < !-- with < onlyTruste d>true</on lyTrusted>  set -->
  358            < !--
  359            < mailet mat ch="HasMai lAttribute =org.apach e.james.SM IMECheckSi gnature" c lass="ToPr ocessor">
  360                <process or> transp ort </proc essor>
  361            < /mailet>
  362            - ->
  363  
  364            < !-- specif ic known s enders -->
  365            < !--
  366            < mailet mat ch="Sender Is=goodboy @goodhost"
  367                     cla ss="ToProc essor">
  368                <process or> transp ort </proc essor>
  369            < /mailet>
  370            - ->
  371  
  372            < !-- People  on this l ist agree  to pay a p enalty if  they send  spam -->
  373            < mailet mat ch="InSpam merBlackli st=query.b ondedsende r.org."
  374                     cla ss="ToProc essor">
  375               <processo r> transpo rt </proce ssor>
  376            < /mailet>
  377  
  378            < !-- E-mail  legally r equired no t to be sp am (see: h ttp://www. habeas.com ) -->
  379            < !--
  380            < mailet mat ch="HasHab easWarrant Mark" clas s="ToProce ssor">
  381                <process or> transp ort </proc essor>
  382            < /mailet>
  383            - ->
  384  
  385            < !-- If the  sender is  in a reci pient's wh itelist, i t is a val id sender,  -->
  386            < !-- and as  such the  message sh ould not b e consider ed spam fo r such rec ipient. -- >
  387            < !--
  388            < mailet mat ch="IsInWh iteList=db ://maildb"  class="To Processor"  onMatchEx ception="n oMatch">
  389                <process or> transp ort </proc essor>
  390            < /mailet>
  391            - ->
  392  
  393            < !-- End of  White Lis t -->
  394  
  395            < !-- Check  for delive ry from a  known spam  server -- >
  396            < !-- This s et of matc hers/maile ts redirec t all emai ls from kn own -->
  397            < !-- black  holes, ope n relays,  and spam s ervers to  the spam p rocessor - ->
  398            < !-- For th is set to  function p roperly, t he spam pr ocessor mu st be conf igured. -- >
  399            < mailet mat ch="InSpam merBlackli st=dnsbl.n jabl.org."
  400                     cla ss="ToProc essor">
  401               <processo r> spam </ processor>
  402               <notice>5 50 Request ed action  not taken:  rejected  - see http ://njabl.o rg/ </noti ce>
  403            < /mailet>
  404            
  405            < !-- Sample  matching  to kill a  message (s end to Nul l) -->
  406            < !--
  407            < mailet mat ch="Recipi entIs=badb oy@badhost " class="N ull"/>
  408            - ->
  409  
  410            < !-- Anti s pam bayesi an analysi s -->
  411            < !--
  412            < mailet mat ch="All" c lass="Baye sianAnalys is" onMail etExceptio n="ignore" >
  413                <reposit oryPath>db ://maildb< /repositor yPath>
  414           <m axSize>200 000</maxSi ze>
  415                <headerN ame>X-Mess ageIsSpamP robability </headerNa me>
  416                <ignoreL ocalSender >true</ign oreLocalSe nder>
  417            < /mailet>
  418  
  419            < mailet mat ch="Compar eNumericHe aderValue= X-MessageI sSpamProba bility > 0 .90" class ="SetMailA ttribute"  onMatchExc eption="no Match">
  420                <isSpam> true</isSp am>
  421            < /mailet>
  422  
  423            < mailet mat ch="Compar eNumericHe aderValue= X-MessageI sSpamProba bility > 0 .90" class ="SetMimeH eader" onM atchExcept ion="noMat ch">
  424                <name>X- MessageIsS pam</name>
  425                <value>t rue</value >
  426            < /mailet>
  427  
  428            < mailet mat ch="Compar eNumericHe aderValue= X-MessageI sSpamProba bility > 0 .99" class ="ToProces sor" onMat chExceptio n="noMatch ">
  429                <process or> spam < /processor >
  430                <notice> Spam not a ccepted</n otice>
  431            < /mailet>
  432            - ->
  433  
  434            < !-- Send r emaining m ails to th e transpor t processo r for eith er local o r remote d elivery -- >
  435            < mailet mat ch="All" c lass="ToPr ocessor">
  436                <process or> transp ort </proc essor>
  437            < /mailet>
  438         </pr ocessor>
  439  
  440         <!--  The error  processor  is requir ed.  James  may inter nally set  emails to  the -->
  441         <!--  error sta te.  The e rror proce ssor is ge nerally in voked when  there is  an -->
  442         <!--  unexpecte d error ei ther in th e mailet c hain or in ternal to  James. -->
  443         <!--  -->
  444         <!--  By defaul t configur ation all  email that  generates  an error  in placed  in -->
  445         <!--  an error  repository . -->
  446         <pro cessor nam e="error">
  447            < !-- If you  want to n otify the  sender the ir message  generated  an error,  uncomment  this        -->
  448            < !--
  449            < mailet mat ch="All" c lass="Boun ce"/>
  450            - ->
  451            < !-- If you  want to n otify the  postmaster  that a me ssage gene rated an e rror, unco mment this   -->
  452            < !--
  453            < mailet mat ch="All" c lass="Noti fyPostmast er"/>
  454            - ->
  455  
  456            < !-- Logs a ny message s to the r epository  specified  -->
  457            < mailet mat ch="All" c lass="ToRe pository">
  458                <reposit oryPath> f ile://var/ mail/error /</reposit oryPath>
  459                <!-- An  alternativ e database  repositor y example  follows. - ->
  460                <!--
  461                <reposit oryPath> d b://maildb /deadlette r/error </ repository Path>
  462                -->
  463            < /mailet>
  464         </pr ocessor>
  465  
  466         <!--  Processor  CONFIGURA TION SAMPL E: transpo rt is a sa mple custo m processo r for loca l or -->
  467         <!--  remote de livery -->
  468         <pro cessor nam e="transpo rt">
  469  
  470           <! -- This is  an exampl e configur ation incl uding conf iguration  for a list  server. - ->
  471           <! -- CHECKME : before u ncommentin g this, ed it the con figuration  file's co ntents   - ->
  472           <! --
  473              &listserve rConfig;
  474           -- >
  475  
  476            < mailet mat ch="SMTPAu thSuccessf ul" class= "SetMimeHe ader">
  477                <name>X- UserIsAuth </name>
  478                <value>t rue</value >
  479            < /mailet>
  480       
  481            < mailet mat ch="HasMai lAttribute =org.apach e.james.SM IMECheckSi gnature" c lass="SetM imeHeader" >
  482                <name>X- WasSigned< /name>
  483                <value>t rue</value >
  484            < /mailet>
  485  
  486            < !-- Add a  server-sid e signatur e -->
  487            < !-- In ord er to use  SMIME capa bilities y ou need to  install t he bouncyc astle JCE  -->
  488            < !-- provid er in your  environme nt (james/ lib) -->
  489            < !-- e.g: b cprov-jdk1 4-129.jar  from http: //www.boun cycastle.o rg/latest_ releases.h tml -->
  490            < !--
  491            < mailet mat ch="All" c lass="SMIM ESign" onM ailetExcep tion="igno re">
  492                <keyStor eType>jks< /keyStoreT ype>
  493                <keyStor eFileName> path.keyst ore</keySt oreFileNam e>
  494                <keyStor ePassword> myKeyStore Pass</keyS torePasswo rd>
  495                <keyAlia s>myKeyAli as</keyAli as>
  496                <keyAlia sPassword> myKeyPass< /keyAliasP assword>
  497                <signerN ame>XXX Tr usted Serv er</signer Name>
  498                <rebuild From>true< /rebuildFr om>
  499                <postmas terSigns>t rue</postm asterSigns >
  500                <debug>t rue</debug >
  501            < /mailet>
  502            - ->
  503  
  504            < !-- Experi mental quo ta Matcher  -->
  505            < !-- This m atcher nee d to calcu late the m ailbox siz e everytim e it is ca lled. This  can slow  down thing s if there  are many  mails in - ->
  506            < !-- the ma ilbox. Som e users al so report  big proble ms with th e matcher  if a JDBC  based mail repository  is used.  -->
  507            < !-- Check  if over qu ota -->
  508            < !-- 
  509            < mailet mat ch="Recipi entIsOverF ixedQuota= 20M" class ="Resend">
  510                <sender> postmaster </sender>
  511                <replyTo >postmaste r</replyTo >
  512                <reverse Path>null< /reversePa th>
  513                <inline> none</inli ne>
  514                <attachm ent>messag e</attachm ent>
  515                <prefix> [OVER QUOT A WARNING] </prefix>
  516                <message >
  517   When recei ving the a ttached me ssage, you r mailbox  is larger  than 20 MB , which is  the maxim um allowed  quota. Th e mailbox  will not b e blocked,  but we as k you to e mpty it AS AP.
  518  
  519   It is like ly that yo u have set , in your  mail clien t account,  the optio n "leave a  copy of m essages on  server".  For any he lp ask you r administ rators.
  520  
  521   Regards, P ostmaster  XXX.YYY
  522   .......... .......... .......... .......
  523                </messag e>
  524            < /mailet>
  525            - ->
  526            
  527            < mailet mat ch="Recipi entIsXdAnd NotSMIME=h ttp://loca lhost:8081 /config-se rvice/Conf igurationS ervice" cl ass="Direc tXdMailet" >
  528                <ConfigU RL>http:// localhost: 8081/confi g-service/ Configurat ionService </ConfigUR L>
  529                <Endpoin tURL>http: //localhos t:8081/xd/ services/D ocumentRep ository_Se rvice</End pointURL>
  530            < /mailet>
  531  
  532            < mailet mat ch="RecipA ndSenderIs NotLocal=m ydomain.co m" class=" NHINDSecur ityAndTrus tMailet">
  533                <ConfigU RL>http:// localhost: 8081/confi g-service/ api</Confi gURL>
  534                <Message Monitoring ServiceURL >http://lo calhost:80 81/msg-mon itor</Mess ageMonitor ingService URL>
  535                <AutoDSN FailueCrea tion>Gener al,Reliabl eAndTimely </AutoDSNF ailueCreat ion> 
  536                <SmptAge ntConfigPr ovider>org .nhindirec t.gateway. smtp.provi der.RESTSm tpAgentCon figProvide r</SmptAge ntConfigPr ovider>
  537                <Service SecurityMa nagerProvi der>org.nh indirect.g ateway.smt p.provider .ConfigBas icAuthServ iceSecurit yManagerPr ovider</Se rviceSecur ityManager Provider>
  538                <Service SecurityAu thSubject> direct</Se rviceSecur ityAuthSub ject>
  539                <Service SecurityAu thSecret># H|tBro$</S erviceSecu rityAuthSe cret>    
  540                <SmptAge ntAuditorP rovider>or g.nhindire ct.common. audit.prov ider.RDBMS AuditorPro vider</Smp tAgentAudi torProvide r>       
  541                
  542                <!--  Th e followin g sections  are for c onfigurati on of a PK CS11 secur ity token.   This pro vides a hi gher level  of
  543                private  key protec tion where  the priva te key is  never in a  decrypted  form in t he STA pro cess memor y space.   Instead
  544                the key  is retriev ed from co nfiguratio n service  in a "wrap ped" form  and unwrap ped on the  security  token usin g the 
  545                "Private KeyPassPhr aseAlias"  systemtric  which is  also store d in the s ecurity to ken.-
  546                
  547                Each sec urity toke n will mos t likely h ave its ow n configur ation sett ings, so c onsult you r token do cumentatio n for spec ifics.
  548                NOTE: So me tokens  may specif y that spe cific jars  and/or na tive libra ries by pl aces in th e JVM lib/ ext direct ory.  The  James 2 
  549                classloa der for ma ilets does  not give  mailets ac cess to co de in this  location,  so it may  be necess ary to cop y these li braries to  the 
  550                <JAMES_H OME>/apps/ james/SAR- INF/lib di rectory.   For exampl e, securit y tokesn t hat utiliz e the buil t in JDK s un.securit y.pkcs11.S unPKCS11
  551                JCE prov ider will  have to co py the sun pkcs11.jar  file to t he <JAMES_ HOME>/apps /james/SAR -INF/lib d irectory
  552                -->
  553                    
  554                <!-- 
  555                The exam ple below  is for a t oken that  utilizes t he sun.sec urity.pkcs 11.SunPKCS 11 securit y provider .  Specifi cally, thi s configur ation
  556                is teste d against  a SafeNet  eToken pro  device.   The specif ic configu ration inf ormation i s store in  an extern al file na me 
  557                pkcs11.c fg.  NOTE:  The eToke nPro does  not suppor t RSA priv ate key wr apping, so  it is not  an
  558                appropri ate securi ty token f or product ion use; t his is con figuration  is an exa mple only.
  559                 -->    
  560                <!-- 
  561                <Keystor eManagerPr ovider>org .nhindirec t.gateway. smtp.provi der.Static PKCS11Toke nKeyStoreP rotectionM anagerProv ider</Keys toreManage rProvider>
  562                <Keystor eManagerPi n>key$tore P!n</Keyst oreManager Pin>
  563                <Private KeyPassPhr aseAlias>p rivateKeyW rapperSecr et</Privat eKeyPassPh raseAlias>
  564                <JCE_SEN TITIVE_PRO VIDER>SunP KCS11-Safe NeteTokenP ro</JCE_SE NTITIVE_PR OVIDER>             
  565                <Keystor eManagerSt oreType>PK CS11</Keys toreManage rStoreType >
  566                <Keystor eManagerPK CS11Provid er>sun.sec urity.pkcs 11.SunPKCS 11</Keysto reManagerP KCS11Provi der>
  567                <Keystor eManagerPK CS11Config File>prope rties/pkcs 11.cfg</Ke ystoreMana gerPKCS11C onfigFile>
  568                 -->    
  569                
  570                <!-- 
  571                The exam ple below  is for a t oken that  utilizes a  custom PK CS11 provi der.  Spec ifically,  this confi guration
  572                is teste d against  a SafeNet  LunaSA dev ice.  The  custom con figuration  informati on is prov ided in th e Keystore ManagerPKC S11Provide rCustomCon figString
  573                setting,  but could  be placed  in a exte rnal file  using the  KeystoreMa nagerPKCS1 1ProviderC ustomConfi gFile sett ing. 
  574                 -->    
  575                <!-- 
  576                <Keystor eManagerPr ovider>org .nhindirec t.gateway. smtp.provi der.Static PKCS11Toke nKeyStoreP rotectionM anagerProv ider</Keys toreManage rProvider>
  577                <Keystor eManagerPi n>key$tore P!n</Keyst oreManager Pin>
  578                <Private KeyPassPhr aseAlias>p rivateKeyW rapperSecr et</Privat eKeyPassPh raseAlias>
  579                <JCE_SEN TITIVE_PRO VIDER>Luna Provider</ JCE_SENTIT IVE_PROVID ER>             
  580                <Keystor eManagerSt oreType>LU NA</Keysto reManagerS toreType>
  581                <Keystor eManagerPK CS11Provid er>com.saf enetinc.lu na.provide r.LunaProv ider</Keys toreManage rPKCS11Pro vider>
  582                <Keystor eManagerPK CS11Provid erCustomCo nfigString >slot:0</K eystoreMan agerPKCS11 ProviderCu stomConfig String>
  583                 -->        
  584                    
  585            < /mailet>
  586  
  587            < !-- This m ailet trac ks all inc oming noti fication m essages.   All messag es at this  point sho uld not en crypted, s o they
  588            s hould be i ncoming in  direction .  In addt ion this m ailet dete rmines if  a notifica tion shoul d be suppr essed from  being 
  589            d elivered t o the edge  client.   Generally  this appli es to dupl icate noti fication c hecking of  messages  that were  sent with 
  590            t he timely  and reliab le disposi tion optio n, but imp lementatio ns can var y by HISP.   The defa ult config uration de fers to 
  591            t he message  monitorin g service  to dictate  if messag es should  be supress es. -->
  592            < mailet mat ch="IsNoti fication"  class="Sup pressAndTr ackAggrega te">
  593                <Message Monitoring ServiceURL >http://lo calhost:80 81/msg-mon itor</Mess ageMonitor ingService URL>
  594                <Consume MDNProcess ed>true</C onsumeMDNP rocessed>              
  595            < /mailet>
  596  
  597            < mailet mat ch="Recipi entIsXdAnd NotSMIME=h ttp://loca lhost:8081 /config-se rvice/Conf igurationS ervice" cl ass="Direc tXdMailet" >
  598                <ConfigU RL>http:// localhost: 8081/confi g-service/ Configurat ionService </ConfigUR L>
  599                <Endpoin tURL>http: //localhos t:8081/xd/ services/D ocumentRep ository_Se rvice</End pointURL>
  600            < /mailet>
  601  
  602            < !-- Is the  recipient  is for a  local acco unt, deliv er it loca lly -->
  603            < mailet mat ch="Recipi entIsLocal " class="T imelyAndRe liableLoca lDelivery" />
  604  
  605            < !-- If the  host is h andled by  this serve r and it d id not get  -->
  606            < !-- locall y delivere d, this is  an invali d recipien t -->
  607            < mailet mat ch="HostIs Local" cla ss="ToProc essor">
  608                <process or> local- address-er ror </proc essor>
  609                <notice> 550 - Requ ested acti on not tak en: no suc h user her e</notice>
  610            < /mailet>
  611  
  612   <!-- CHECK ME! -->
  613            < !-- This i s an anti- relay matc her/mailet  combinati on -->
  614            < !-- -->
  615            < !-- Emails  sent from  servers n ot in the  network li st are  -- >
  616            < !-- reject ed as spam .  This is  one metho d of preve nting your  -->
  617            < !-- server  from bein g used as  an open re lay.  Make  sure you  understand  -->
  618            < !-- how to  prevent y our server  from beco ming an op en relay b efore -->
  619            < !-- changi ng this co nfiguratio n. See als o <authori zedAddress es> in SMT P Server - ->
  620            < !-- -->
  621            < !-- This m atcher/mai let combin ation must  come afte r local de livery has  -->
  622            < !-- been p erformed.   Otherwise  local use rs will no t be able  to receive  -->
  623            < !-- email  from sende rs not in  this remot e address  list. -->
  624            < !-- -->
  625            < !-- If you  are using  this matc her/mailet  you will  probably w ant to -->
  626            < !-- update  the confi guration t o include  your own n etwork/add resses.  T he -->
  627            < !-- matche r can be c onfigured  with a com ma separat ed list of  IP addres ses  -->
  628            < !-- wildca rded IP su bnets, and  wildcarde d hostname  subnets.  -->
  629            < !-- e.g. " RemoteAddr NotInNetwo rk=127.0.0 .1, abc.de .*, 192.16 8.0.*" -->
  630            < !-- -->
  631            < !-- If you  are using  SMTP auth entication  then you  can (and g enerally - ->
  632            < !-- should ) disable  this match er/mailet  pair. -->
  633            < !--
  634            < mailet mat ch="Remote AddrNotInN etwork=127 .0.0.1" cl ass="ToPro cessor">
  635                <process or> relay- denied </p rocessor>
  636                <notice> 550 - Requ ested acti on not tak en: relayi ng denied< /notice>
  637            < /mailet>
  638            - ->
  639  
  640            < !-- Attemp t remote d elivery us ing the sp ecified re pository f or the spo ol, -->
  641            < !-- using  delay time  to retry  delivery a nd the max imum numbe r of retri es -->
  642            < mailet mat ch="Recipi entIsNotXd =http://lo calhost:80 81/config- service/Co nfiguratio nService"  class="Rem oteDeliver y">
  643                <outgoin g> file:// var/mail/o utgoing/ < /outgoing>
  644                <!-- alt ernative d atabase re pository e xample bel ow -->
  645                <!--
  646                <outgoin g> db://ma ildb/spool /outgoing  </outgoing >
  647                -->
  648  
  649                <!-- Del ivery Sche dule based  upon RFC  2821, 4.5. 4.1 -->
  650                <!-- 5 d ay retry p eriod, wit h 4 attemp ts in the  first
  651                     hou r, two mor e within t he first 6  hours, an d then
  652                     eve ry 6 hours  for the r est of the  period. - ->
  653                <delayTi me>  5 min utes </del ayTime>
  654                <delayTi me> 10 min utes </del ayTime>
  655                <delayTi me> 45 min utes </del ayTime>
  656                <delayTi me>  2 hou rs </delay Time>
  657                <delayTi me>  3 hou rs </delay Time>
  658                <delayTi me>  6 hou rs </delay Time>
  659                <maxRetr ies> 25 </ maxRetries >
  660  
  661                <!-- The  number of  threads t hat should  be trying  to delive r outgoing  messages  -->
  662                <deliver yThreads>  1 </delive ryThreads>
  663  
  664                <!-- If  false the  message wi ll not be  sent to gi ven server  if any re cipients f ail -->
  665                <sendpar tial>false </sendpart ial>
  666                
  667                <!-- By  default we  send boun ces to the  "bounce"  processor  -->
  668                <!-- By  removing t his config uration Ja mes will f allback to  hardcoded  bounce -- >
  669                <!-- not ifications  -->
  670                <bounceP rocessor>b ounces</bo unceProces sor>
  671  
  672                <!-- A s ingle mail  server to  deliver a ll outgoin g messages . -->
  673                <!-- Thi s is usefu l if this  server is  a backup o r failover  machine,  -->
  674                <!-- or  if you wan t all mess ages to be  routed th rough a pa rticular m ail server , -->
  675                <!-- reg ardless of  the email  addresses  specified  in the me ssage -->
  676                <!-- -->
  677                <!-- The  gateway e lement spe cifies the  gateway S MTP server  name. -->
  678                <!-- If  your gatew ay mail se rver is li stening on  a port ot her than 2 5, -->
  679                <!-- you  can set J ames to co nnect to i t on that  port using  the gatew ayPort -->
  680                <!-- ele ment. -->
  681                <!-- Alt hough norm ally multi ple addres ses are im plemented  through pr oper -->
  682                <!-- DNS  configura tion, the  RemoteDeli very mail  does allow  specifyin g -->
  683                <!-- mul tiple gate way elemen ts, each o f which ma y also hav e a port - ->
  684                <!-- e.g ., mygatew ay:2525 -- >
  685                <!-- the  gatewayPo rt element  is used a s a defaul t -->
  686                <!--
  687                <gateway > otherser ver.mydoma in.com </g ateway>
  688                <gateway Port>25</g atewayPort >
  689                -->
  690                <!-- If  the gatewa y requires  smtp auth entication  the follo wing direc tives -->
  691                <!-- (ga tewayusern ame/gatewa yPassword)  can be us ed. -->
  692                <!--
  693                <gateway username>l ogin</gate wayusernam e>
  694                <gateway Password>p ass</gatew ayPassword >
  695                -->
  696                
  697                <!-- Set  the HELO/ EHLO name  to use whe n connecti ong to rem ote SMTP-S erver -->
  698                <!--
  699                <mail.sm tp.localho st>myMailS erver</mai l.smtp.loc alhost>
  700                -->
  701            < /mailet>
  702  
  703         </pr ocessor>
  704  
  705         <!--  Processor  CONFIGURA TION SAMPL E: spam is  a sample  custom pro cessor for  handling  -->
  706         <!--  spam. -->
  707         <!--  You can e ither log  these, bou nce these,  or just i gnore them . -->
  708         <pro cessor nam e="spam">
  709            < !-- To des troy all m essages, u ncomment t his matche r/mailet c onfigurati on -->
  710            < !--
  711            < mailet mat ch="All" c lass="Null "/>
  712            - ->
  713  
  714            < !-- To not ify the se nder their  message w as marked  as spam, u ncomment t his matche r/mailet c onfigurati on -->
  715            < !--
  716            < mailet mat ch="All" c lass="Boun ce"/>
  717            - ->
  718  
  719            < !-- To not ify the po stmaster t hat a mess age was ma rked as sp am, uncomm ent this m atcher/mai let config uration -- >
  720            < !--
  721            < mailet mat ch="All" c lass="Noti fyPostmast er"/>
  722            - ->
  723  
  724            < !-- To log  the messa ge to a re pository,  this match er/mailet  configurat ion should  be uncomm ented. -->
  725            < !-- This i s the defa ult config uration. - ->
  726            < mailet mat ch="All" c lass="ToRe pository">
  727                <reposit oryPath>fi le://var/m ail/spam/< /repositor yPath>
  728  
  729                <!-- Cha nging the  repository Path, as i n this com mented out  example,  will -->
  730                <!-- cau se the mai ls to be s tored in a  database  repository .  -->
  731                <!-- Ple ase note t hat only o ne reposit oryPath el ement can  be present  for the m ailet -->
  732                <!-- con figuration . -->
  733                <!--
  734                <reposit oryPath> d b://maildb /deadlette r/spam </r epositoryP ath>
  735                -->
  736            < /mailet>
  737         </pr ocessor>
  738  
  739         <!--  messages  containing  viruses.  -->
  740         <pro cessor nam e="virus">
  741         
  742            < !-- To avo id a loop  while boun cing -->
  743            < mailet mat ch="All" c lass="SetM ailAttribu te">
  744                <org.apa che.james. infected>t rue, bounc ing</org.a pache.jame s.infected >
  745            < /mailet>
  746  
  747            < !-- If the  sender is  authentic ated, noti fy the inf ection -->
  748            < mailet mat ch="SMTPAu thSuccessf ul" class= "Bounce">
  749                <inline> heads</inl ine>
  750                <attachm ent>none</ attachment >
  751                <notice>  Warning:  We were un able to de liver the  message be low becaus e it was f ound infec ted by vir us(es). </ notice>
  752            < /mailet>
  753  
  754            < !-- In any  other sit uation gho st it, -->
  755            < !-- as vir uses almos t always s poof the s ender's ad dress -->
  756            < mailet mat ch="All" c lass="Null " />
  757         </pr ocessor>
  758  
  759         <!--  This proc essor hand les messag es that ar e for loca l domains,  where the  user is u nknown -->
  760         <pro cessor nam e="local-a ddress-err or">
  761            < !-- To avo id bouncin g/archivin g spam, un comment th is matcher /mailet co nfiguratio n -->
  762            < !--
  763            < mailet mat ch="HasMai lAttribute =isSpam" c lass="Null " onMatchE xception=" noMatch"/>
  764            - ->
  765  
  766           <! -- Creates  a bounce  message us ing the di rect proje ct bounce  message ge nerator -- >
  767                    <mai let match= "All" clas s="DirectB ounce"/>
  768  
  769            < !-- To not ify the po stmaster t hat a mess age had an  invalid a ddress, un comment th is matcher /mailet co nfiguratio n -->
  770            < !--
  771            < mailet mat ch="All" c lass="Noti fyPostmast er"/>
  772            - ->
  773                    <!--  
  774            < mailet mat ch="All" c lass="ToRe pository">
  775                <reposit oryPath> f ile://var/ mail/addre ss-error/< /repositor yPath>
  776                <reposit oryPath> d b://maildb /deadlette r/address- error </re positoryPa th>
  777  
  778            < /mailet>
  779            - -> 
  780         </pr ocessor>
  781  
  782         <!--  This proc essor hand les messag es that ar e for fore ign domain s, where r elaying is  denied -- >
  783         <!--  As of Jam es v2.2, t his proces sor can be  deprecate d by using  the <auth orizedAddr esses> tag
  784               in the SM TP Server,  and rejec ting the m essage in  the protoc ol transac tion.  -->
  785         <pro cessor nam e="relay-d enied">
  786            < !-- To not ify the se nder the a ddress was  invalid,  uncomment  this match er/mailet  configurat ion -->
  787            < !-- The or iginal mes sage is no t attached  to keep t he bounce  processor  from deliv erying spa m -->
  788            < !--
  789            < mailet mat ch="All" c lass="Boun ce">
  790                <attachm ent>none</ attachment >
  791            < /mailet>
  792            - ->
  793  
  794            < !-- To not ify the po stmaster t hat a rela y request  was denied , uncommen t this mat cher/maile t configur ation -->
  795            < !--
  796            < mailet mat ch="All" c lass="Noti fyPostmast er"/>
  797            - ->
  798  
  799            < mailet mat ch="All" c lass="ToRe pository">
  800                <reposit oryPath>fi le://var/m ail/relay- denied/</r epositoryP ath>
  801                <!-- An  alternativ e database  repositor y example  follows. - ->
  802                <!--
  803                <reposit oryPath> d b://maildb /deadlette r/relay-de nied </rep ositoryPat h>
  804                -->
  805            < /mailet>
  806         </pr ocessor>
  807  
  808         <!--  This proc essor hand le the bou nces from  RemoteDeli very: As o f James v2 .3, this i s the new  -->
  809         <!--  Default.  -->
  810         <!--  -->
  811         <!--  DSNBounce  properly  create a D SN complia nt bounce  -->
  812         <pro cessor nam e="bounces ">
  813            < mailet mat ch="All" c lass="DSNB ounce">
  814                <passThr ough>false </passThro ugh>
  815  
  816                <!-- opt ional subj ect prefix  prepended  to the or iginal mes sage -->
  817                <!--
  818                <prefix> [bounce]</ prefix>
  819                -->
  820                
  821                <!-- mes sage, head s or none,  default=m essage -->
  822                <!--
  823                <attachm ent>heads< /attachmen t>
  824                -->
  825                
  826                <!-- the  message s ent in the  bounce, t he first o ccurrence  of the pat tern [mach ine] is -- >
  827                <!-- rep laced with  the name  of the exe cuting mac hine -->
  828                <!-- Def ault: Hi.  This is th e James ma il server  at [machin e] ... -->
  829                <!--
  830                <message String>Her e is [mach ine]. I'm  not able t o deliver  this messa ge.</messa geString>
  831                -->
  832              </mailet>
  833         </pr ocessor>
  834      </spool manager>
  835  
  836      <!-- DN S Server B lock -->
  837      <!-- -- >
  838      <!-- Sp ecifies DN S Server i nformation  for use b y various  components  inside -- >
  839      <!-- Ja mes. -->
  840      <!-- -- >
  841      <!-- If  autodisco ver is tru e, James w ill attemp t to autod iscover th e DNS serv ers config ured on yo ur underly ing system .-->
  842      <!-- Cu rrently, t his works  if the OS  has a unix -like /etc /resolv.co nf,-->
  843      <!-- or  the syste m is Windo ws based w ith ipconf ig or wini pcfg.-->
  844      <!-- -- >
  845      <!-- If  no DNS se rvers are  found and  you have n ot specifi ed any bel ow, 127.0. 0.1 will b e used-->
  846      <!-- If  you use a utodiscove r and add  DNS server s manually  a combina tion of al l the dns  servers wi ll be used   -->
  847      <!--  - ->
  848      <!-- In formation  includes a  list of D NS Servers  to be use d by James .  These a re -->
  849      <!-- sp ecified by  the serve r elements , each of  which is a  child ele ment of th e -->
  850      <!-- se rvers elem ent.  Each  server el ement is t he IP addr ess of a s ingle DNS  server. -- >
  851      <!-- Th e servers  element ca n have mul tiple serv er childre n. -->
  852      <dnsser ver>
  853         <ser vers>
  854            < !--Enter i p address  of your DN S server,  one IP add ress per s erver -->
  855            < !-- elemen t. -->
  856            < !--
  857              <server>12 7.0.0.1</s erver>
  858            - ->
  859         </se rvers>
  860         <!--  Change au todiscover  to false  if you wou ld like to  turn off  autodiscov ery -->
  861         <!--  and set t he DNS ser vers manua lly in the  <servers>  section - ->
  862         <aut odiscover> true</auto discover>
  863         <aut horitative >false</au thoritativ e>
  864  
  865         <!--  Maximum n umber of e ntries to  maintain i n the DNS  cache -->
  866         <max cachesize> 50000</max cachesize>
  867      </dnsse rver>
  868  
  869      <!-- Th e RemoteMa nager serv er is enab led by def ault -->
  870      <!-- Di sabling bl ocks will  stop them  from liste ning, -->
  871      <!-- bu t does not  free as m any resour ces as rem oving them  would -->
  872      <remote manager en abled="tru e">
  873         <por t>4555</po rt>
  874         <!--   Uncommen t this if  you want t o bind to  a specific  inetaddre ss -->
  875         <!--
  876         <bin d> </bind>
  877         -->
  878         <!--   Uncommen t this if  you want t o use TLS  (SSL) on t his port - ->
  879         <!--
  880         <use TLS>true</ useTLS>
  881         -->
  882         <han dler>
  883            < !-- This i s the name  used by t he server  to identif y itself i n the Remo teManager  -->
  884            < !-- protoc ol.  If au todetect i s TRUE, th e server w ill discov er its -->
  885            < !-- own ho st name an d use that  in the pr otocol.  I f discover y fails, - ->
  886            < !-- the va lue of 'lo calhost' i s used.  I f autodete ct is FALS E, James - ->
  887            < !-- will u se the spe cified val ue. -->
  888            < helloName  autodetect ="true">my MailServer </helloNam e>
  889            < administra tor_accoun ts>
  890   <!-- CHECK ME! -->
  891                <!-- Cha nge the de fault logi n/password . -->
  892                <account  login="ro ot" passwo rd="root"/ >
  893            < /administr ator_accou nts>
  894            < connection timeout> 6 0000 </con nectiontim eout>
  895            < !-- The pr ompt direc tive adds  a prompt t o every ou tput from  RemoteMana ger -->
  896            < !-- 
  897            < prompt>jam es&gt;</pr ompt>
  898            - ->
  899         </ha ndler>
  900      </remot emanager>
  901  
  902       <!-- T he POP3 se rver is en abled by d efault -->
  903       <!-- D isabling b locks will  stop them  from list ening, -->
  904       <!-- b ut does no t free as  many resou rces as re moving the m would -- >
  905      <pop3se rver enabl ed="true">
  906         <!--  port 995  is the wel l-known/IA NA registe red port f or POP3S   ie over SS L/TLS -->
  907         <!--  port 110  is the wel l-known/IA NA registe red port f or Standar d POP3 -->
  908         <por t>110</por t>
  909  
  910         <!--  Uncomment  this if y ou want to  bind to a  specific  inetaddres s -->
  911         <!--
  912         <bin d> </bind>
  913         -->
  914         <!--   Uncommen t this if  you want t o use TLS  (SSL) on t his port - ->
  915         <!--
  916         <use TLS>true</ useTLS>
  917         -->
  918  
  919         <han dler>
  920            < !-- This i s the name  used by t he server  to identif y itself i n the POP3  -->
  921            < !-- protoc ol.  If au todetect i s TRUE, th e server w ill discov er its -->
  922            < !-- own ho st name an d use that  in the pr otocol.  I f discover y fails, - ->
  923            < !-- the va lue of 'lo calhost' i s used.  I f autodete ct is FALS E, James - ->
  924            < !-- will u se the spe cified val ue. -->
  925            < helloName  autodetect ="true">my MailServer </helloNam e>
  926            < connection timeout>12 0000</conn ectiontime out>
  927         </ha ndler>
  928      </pop3s erver>
  929  
  930       <!-- T he SMTP se rver is en abled by d efault -->
  931       <!-- D isabling b locks will  stop them  from list ening, -->
  932       <!-- b ut does no t free as  many resou rces as re moving the m would -- >
  933      <smtpse rver enabl ed="true">
  934         <!--  port 25 i s the well -known/IAN A register ed port fo r SMTP -->
  935         <por t>25</port >
  936  
  937         <!--  Uncomment  this if y ou want to  bind to a  specific  inetaddres s -->
  938         <!--  Please NO TE: you sh ould add t his IP als o to your  RemoteAddr NotInNetwo rk -->
  939         <!--  in order  to avoid r elay check  for local lly genera ted bounce s -->
  940         <!--
  941         <bin d> </bind>
  942         -->
  943         <!--  Uncomment  this if y ou want to  use TLS ( SSL) on th is port -- >
  944         <!--
  945         <use TLS>true</ useTLS>
  946         -->
  947  
  948         <han dler>
  949            < !-- This i s the name  used by t he server  to identif y itself i n the SMTP  -->
  950            < !-- protoc ol.  If au todetect i s TRUE, th e server w ill discov er its -->
  951            < !-- own ho st name an d use that  in the pr otocol.  I f discover y fails, - ->
  952            < !-- the va lue of 'lo calhost' i s used.  I f autodete ct is FALS E, James - ->
  953            < !-- will u se the spe cified val ue. -->
  954            < helloName  autodetect ="true">my MailServer </helloNam e>
  955            < connection timeout>36 0000</conn ectiontime out>
  956  
  957            < !--  Uncom ment this  if you wan t to requi re SMTP au thenticati on.
  958  
  959                   suppo rted value s:
  960                   true:  required  but announ ced only t o not auth orizedAddr esses
  961                   false : don't us e AUTH
  962                   annou nce: like  true, but  always ann ounce AUTH  capabilit y to clien ts
  963  
  964                   The c orrect beh aviour per  RFC value  would be  false or a nnounce
  965                   but w e still su pport true  for backw ard compat ibility an d because
  966                   some  webmail cl ient fails  when AUTH  is announ ced but no  authentic ation
  967                   infor mation has  been prov ided
  968              -->
  969            < authRequir ed>announc e</authReq uired>
  970  
  971   <!-- CHECK ME! -->
  972            < !--  Uncom ment this  if you wan t to autho rize speci fic addres ses/networ ks.
  973                   If yo u use SMTP  AUTH, add resses tha t match th ose specif ied here w ill
  974                   be pe rmitted to  relay wit hout SMTP  AUTH.  If  you do not  use SMTP
  975                   AUTH,  and you s pecify add reses here , then onl y addresse s that mat ch
  976                   those  specified  will be p ermitted t o relay.
  977  
  978                   Addre sses may b e specifie d as a an  IP address  or domain  name, wit h an
  979                   optio nal netmas k, e.g.,
  980  
  981                   127.* , 127.0.0. 0/8, 127.0 .0.0/255.0 .0.0, and  localhost/ 8 are all  the same
  982  
  983                   See a lso the Re moteAddrNo tInNetwork  matcher i n the tran sport proc essor.
  984                   You w ould gener ally use o ne OR the  other appr oach.
  985            - ->
  986            < !--
  987            < authorized Addresses> 127.0.0.0/ 8</authori zedAddress es>
  988            - ->
  989  
  990            < !--  Uncom ment this  if you wan t to verif y sender a ddresses,  ensuring t hat -->
  991            < !--  the s ender addr ess matche s the user  who has a uthenticat ed. -->
  992            < !--  This  prevents a  user of y our mail s erver from  acting as  someone e lse -->
  993            < !--
  994            < verifyIden tity>true< /verifyIde ntity>
  995            - ->
  996  
  997            < !--  This  sets the m aximum all owed messa ge size (i n kilobyte s) for thi s -->
  998            < !--  SMTP  service. I f unspecif ied, the v alue defau lts to 0,  which mean s no limit . -->
  999            < maxmessage size>0</ma xmessagesi ze>
  1000            
  1001            < !--  This  sets wethe r to enfor ce the use  of HELO/E HLO saluta tion befor e a -->
  1002            < !--  MAIL  command is  accepted.  If unspec ified, the  value def aults to t rue -->
  1003            < !-- 
  1004            < heloEhloEn forcement> true</helo EhloEnforc ement>
  1005            - ->
  1006  
  1007            < !-- SMTP H andler Cha in customi zation -->
  1008            < !-- Uncomm ent this a nd edit ja mes-smtpha ndlerchain .xml confi guration f ile to -->
  1009            < !-- enable  the exper imental fa stfail fea tures. Loo k at the j ames-smtph andlerchai n.xml -->
  1010            < !-- for fu rther info rmations - ->
  1011            < !-- 
  1012            & smtphandle rchainConf ig;
  1013            - ->
  1014                
  1015         </ha ndler>
  1016      </smtps erver>
  1017  
  1018       <!-- T he NNTP se rver is en abled by d efault -->
  1019       <!-- D isabling b locks will  stop them  from list ening, -->
  1020       <!-- b ut does no t free as  many resou rces as re moving the m would -- >
  1021       <!-- N NTP-specif ic: if you  disable t he NNTP Se rver, you  should als o set the  nntp-repos itory's
  1022            t hreadCount  to 0, oth erwise the re will be  threads a ctive and  polling  - ->
  1023      <nntpse rver enabl ed="true">
  1024      <!-- TH E NNTP PRO TOCOL IS E XPERIMENTA L AND NOT  AS WELL TE STED AS SM TP AND POP 3 IN THIS  RELEASE.
  1025           Th e James pr oject reco mmends tha t you chec k the Jame s web site  for updat es to the  NNTP
  1026           se rvice.  -- >
  1027         <!--  port 563  is the wel l-known/IA NA registe red port f or NNTP ov er SSL/TLS  -->
  1028         <!--  port 119  is the wel l-known/IA NA registe red port f or Standar d NNTP -->
  1029         <por t>119</por t>
  1030  
  1031         <!--  Uncomment  this if y ou want to  bind to a  specific  inetaddres s -->
  1032         <!--
  1033         <bin d> </bind>
  1034         -->
  1035         <!--  Uncomment  this if y ou want to  use TLS ( SSL)  on t his port - ->
  1036         <!--
  1037         <use TLS>true</ useTLS>
  1038         -->
  1039  
  1040         <han dler>
  1041            < !-- This i s the name  used by t he server  to identif y itself i n the NNTP  -->
  1042            < !-- protoc ol.  If au todetect i s TRUE, th e server w ill discov er its -->
  1043            < !-- own ho st name an d use that  in the pr otocol.  I f discover y fails, - ->
  1044            < !-- the va lue of 'lo calhost' i s used.  I f autodete ct is FALS E, James - ->
  1045            < !-- will u se the spe cified val ue. -->
  1046            < helloName  autodetect ="true">my MailServer </helloNam e>
  1047            < connection timeout>12 0000</conn ectiontime out>
  1048              <!-- Set t he authReq uired valu e to true  to enable  authentica ted NNTP - ->
  1049            < authRequir ed>false</ authRequir ed>
  1050         </ha ndler>
  1051      </nntps erver>
  1052  
  1053      <nntp-r epository>
  1054         <!--  If this i s set to t rue, posti ng will be  disallowe d. -->
  1055         <rea dOnly>fals e</readOnl y>
  1056  
  1057         <roo tPath>file ://var/nnt p/groups</ rootPath>
  1058         <tem pPath>file ://var/nnt p/temp</te mpPath>
  1059         <art icleIDPath >file://va r/nntp/art icleid</ar ticleIDPat h>
  1060         <art icleIDDoma inSuffix>n ews.james. apache.org </articleI DDomainSuf fix>
  1061  
  1062         <!--  The news  groups hos ted in thi s NNTP rep ository. - ->
  1063         <!--  Groups he re will be  added to  those foun d in the f ile system ,
  1064               but remov ing groups  from here  will NOT  remove the m from the
  1065               server.   Change <ne wsgroups>  to <newsgr oups only= "true"> to
  1066               restrict  newsgroups  to ONLY t hose found  in this l ist.  -->
  1067         <new sgroups>
  1068            < newsgroup> org.apache .james.dev </newsgrou p>
  1069            < newsgroup> org.apache .james.use r</newsgro up>
  1070            < newsgroup> org.apache .avalon.de v</newsgro up>
  1071            < newsgroup> org.apache .avalon.us er</newsgr oup>
  1072         </ne wsgroups>
  1073  
  1074         <spo ol>
  1075            < configurat ion>
  1076                <spoolPa th>file:// var/nntp/s pool</spoo lPath>
  1077                <!-- The  number of  threads t hat proces s spooler  related ta sks. -->
  1078                <threadC ount>1</th readCount>
  1079                <!-- The  spool thr ead(s) sho uld idle f or some ti me, if it  has nothin g to do  - ->
  1080                <threadI dleTime>60 000</threa dIdleTime>
  1081            < /configura tion>
  1082         </sp ool>
  1083      </nntp- repository >
  1084  
  1085      <!-- Sp ool reposi tory confi guration - ->
  1086      <!-- Th e spool re pository i s the loca tion where  incoming  mails are  temporaril y stored - ->
  1087      <!-- be fore being  processed . -->
  1088      <spoolr epository  destinatio nURL="file ://var/mai l/spool/"  type="SPOO L"/>
  1089    
  1090      <!-- Al ternative  spool repo sitory def inition fo r JDBC use  -->
  1091      <!--
  1092      <spoolr epository  destinatio nURL="db:/ /maildb/sp ool/spool"  type="SPO OL"/>
  1093      -->
  1094    
  1095      <!-- Al ternative  spool repo sitory def inition fo r JDBC use  -->
  1096      <!-- St ores messa ge body in  file syst em, rest i n database  -->
  1097      <!--
  1098      <spoolr epository  destinatio nURL="dbfi le://maild b/spool/sp ool" type= "SPOOL"/>
  1099      -->
  1100  
  1101      <!-- Th e Mailstor e block -- >
  1102      <mailst ore>
  1103         <rep ositories>
  1104  
  1105            < !-- File b ased repos itories.   These repo sitories s tore all m essage dat a -->
  1106            < !-- in the  file syst em. -->
  1107            < repository  class="or g.apache.j ames.mailr epository. AvalonMail Repository ">
  1108                <protoco ls>
  1109                   <prot ocol>file< /protocol>
  1110                </protoc ols>
  1111                <types>
  1112                   <type >MAIL</typ e>
  1113                </types>
  1114            < /repositor y>
  1115            < repository  class="or g.apache.j ames.mailr epository. AvalonSpoo lRepositor y">
  1116                <protoco ls>
  1117                   <prot ocol>file< /protocol>
  1118                </protoc ols>
  1119                <types>
  1120                   <type >SPOOL</ty pe>
  1121                </types>
  1122            < /repositor y>
  1123  
  1124            < !-- JDBC b ased repos itories.   These repo sitories s tore all m essage dat a -->
  1125            < !-- in the  database.  -->
  1126            < repository  class="or g.apache.j ames.mailr epository. JDBCMailRe pository">
  1127                <protoco ls>
  1128                   <prot ocol>db</p rotocol>
  1129                </protoc ols>
  1130                <types>
  1131                   <type >MAIL</typ e>
  1132                </types>
  1133                <config>
  1134                   <sqlF ile>file:/ /conf/sqlR esources.x ml</sqlFil e>
  1135                   <!--  Set the si ze thresho ld for in  memory han dling of s toring ope rations -- >
  1136                   <!--  Default is  currently  409600000  due to a  bug with m ysql and b inary stre am -->
  1137                   <!--  currently  under inve stigation.  Please ch ange this  only if yo u know wha t -->
  1138                   <!--  you do, th is is EXPE RIMENTAL - ->
  1139                   <!--
  1140                   <inMe morySizeLi mit>4096</ inMemorySi zeLimit>
  1141                    -->
  1142                </config >
  1143            < /repositor y>
  1144  
  1145            < repository  class="or g.apache.j ames.mailr epository. JDBCSpoolR epository" >
  1146                <protoco ls>
  1147                   <prot ocol>db</p rotocol>
  1148                </protoc ols>
  1149                <types>
  1150                   <type >SPOOL</ty pe>
  1151                </types>
  1152                <config>
  1153                   <sqlF ile>file:/ /conf/sqlR esources.x ml</sqlFil e>
  1154                   <maxc ache>1000< /maxcache>
  1155                   <!--  Set the si ze thresho ld for in  memory han dling of s toring ope rations -- >
  1156                   <!--  Default is  currently  409600000  due to a  bug with m ysql and b inary stre am -->
  1157                   <!--  currently  under inve stigation.  Please ch ange this  only if yo u know wha t -->
  1158                   <!--  you do, th is is EXPE RIMENTAL - ->
  1159                   <!--
  1160                   <inMe morySizeLi mit>4096</ inMemorySi zeLimit>
  1161                    -->
  1162                </config >
  1163            < /repositor y>
  1164  
  1165            < !-- These  repositori es store m essage del ivery and  headers in  the DB, a nd the bod y to the f ilesystem  -->
  1166            < repository  class="or g.apache.j ames.mailr epository. JDBCMailRe pository">
  1167                <protoco ls>
  1168                   <prot ocol>dbfil e</protoco l>
  1169                </protoc ols>
  1170                <types>
  1171                   <type >MAIL</typ e>
  1172                </types>
  1173                <config>
  1174                   <sqlF ile>file:/ /conf/sqlR esources.x ml</sqlFil e>
  1175                   <file store>file ://var/dbm ail</files tore>
  1176                </config >
  1177            < /repositor y>
  1178  
  1179            < repository  class="or g.apache.j ames.mailr epository. JDBCSpoolR epository" >
  1180                <protoco ls>
  1181                   <prot ocol>dbfil e</protoco l>
  1182                </protoc ols>
  1183                <types>
  1184                   <type >SPOOL</ty pe>
  1185                </types>
  1186                <config>
  1187                   <sqlF ile>file:/ /conf/sqlR esources.x ml</sqlFil e>
  1188                   <file store>file ://var/dbm ail</files tore>
  1189                   <maxc ache>1000< /maxcache>
  1190                </config >
  1191            < /repositor y>
  1192  
  1193            < !-- The mb ox reposit ory is des igned for  MAIL only;  SPOOL per formance w ould be le ss than id eal-->
  1194            < repository  class="or g.apache.j ames.mailr epository. MBoxMailRe pository">
  1195                <protoco ls>
  1196                   <prot ocol>mbox< /protocol>
  1197                </protoc ols>
  1198                <types>
  1199                   <type >MAIL</typ e>
  1200                </types>
  1201            < /repositor y>
  1202  
  1203            < repository  class="or g.apache.j ames.mailr epository. filepair.F ile_Persis tent_Objec t_Reposito ry">
  1204                <protoco ls>
  1205                   <prot ocol>file< /protocol>
  1206                </protoc ols>
  1207                <types>
  1208                   <type >OBJECT</t ype>
  1209                </types>
  1210                <models>
  1211                   <mode l>SYNCHRON OUS</model >
  1212                   <mode l>ASYNCHRO NOUS</mode l>
  1213                   <mode l>CACHE</m odel>
  1214                </models >
  1215            < /repositor y>
  1216  
  1217            < repository  class="or g.apache.j ames.mailr epository. filepair.F ile_Persis tent_Strea m_Reposito ry">
  1218                <protoco ls>
  1219                   <prot ocol>file< /protocol>
  1220                </protoc ols>
  1221                <types>
  1222                   <type >STREAM</t ype>
  1223                </types>
  1224                <models>
  1225                   <mode l>SYNCHRON OUS</model >
  1226                   <mode l>ASYNCHRO NOUS</mode l>
  1227                   <mode l>CACHE</m odel>
  1228                </models >
  1229            < /repositor y>
  1230         </re positories >
  1231  
  1232      </mails tore>
  1233  
  1234  
  1235      <!-- Th e User Sto rage block  -->
  1236      <users- store>
  1237         <!--  Configure  User Repo sitories h ere. -->
  1238         <!--  -->
  1239         <!--  User repo sitories a re require d for the  following  purposes:  -->
  1240         <!--     - stor ing James  user infor mation, in cluding fo rwards, al iases, -->
  1241         <!--       and  authentica tion data.  -->
  1242         <!--     - hold ing lists  of users f or the lis tserv mail et -->
  1243         <!--  Currently , two diff erent stor age option s are avai lable: -->
  1244         <!--     - file -based sto rage using  Java seri alization  -->
  1245         <!--     - data base-backe d storage  -->
  1246         <!--  (Use of d atabase or  file-syst em is defi ned on a " per-reposi tory" basi s) -->
  1247         <!--  -->
  1248         <!--  Note: One  user repo sitory is  required f or James:  -->
  1249         <!--    LocalUs ers - the  users for  whom you a re providi ng POP3, N NTP, or SM TP service  -->
  1250         <!--  -->
  1251         <!--  Other rep ositories  may be use d by match ers or mai lets. -->
  1252  
  1253         <!--  Default:  File-based  user repo sitories   Use these  configurat ions to st ore user i nfo in the  filesyste m  -->
  1254         <!--  The Local Users repo sitory, fo r storing  James' Use r info. -- >
  1255         <rep ository na me="LocalU sers" clas s="org.apa che.james. userreposi tory.Users FileReposi tory">
  1256            < destinatio n URL="fil e://var/us ers/"/>
  1257         </re pository>
  1258  
  1259  
  1260         <!--  Database  backed use r reposito ries -->
  1261         <!--  -->
  1262         <!--  Use these  configura tions to s tore user  info in a  database.  -->
  1263         <!--  Note: The  <data-sou rce> eleme nt must re fer to a c onnection  configured  -->
  1264         <!--        in  the <datab ase-connec tions> con figuration  section.  -->
  1265  
  1266         <!--  The Local Users repo sitory, fo r storing  James' Use r info. -- >
  1267         <!--  
  1268         <rep ository na me="LocalU sers" clas s="org.apa che.james. userreposi tory.James UsersJdbcR epository"  destinati onURL="db: //maildb/u sers">
  1269            < sqlFile>fi le://conf/ sqlResourc es.xml</sq lFile>
  1270         </re pository>
  1271         -->
  1272  
  1273         <!--  This is a n example  configurat ion includ ing config uration fo r a list s erver. -->
  1274         <!--  CHECKME:  before unc ommenting  this, edit  the confi guration f ile's cont ents   -->
  1275         <!--
  1276           &l istserverS tores;
  1277         -->
  1278  
  1279      </users -store>
  1280  
  1281      <!-- Th e database -connectio ns block - ->
  1282      <databa se-connect ions>
  1283         <!--  These con nections a re referre d to by na me elsewhe re in the  config fil e -->
  1284   <!-- CHECK ME! -->
  1285         <!--  To allow  James to u se a datab ase you mu st configu re the dat abase conn ection her e. -->
  1286         <!--  If you ar e not usin g a databa se, you ca n leave th is section  unchanged . -->
  1287         <!--  These con nections a re referre d to by na me in URLs  elsewhere  in the co nfig file.  -->
  1288         <!--
  1289               James has  previousl y used an  in-house c onnection  pool, Mord red.
  1290               Mordred i s being de precated i n favor of  Jakarta C ommons DBC P.
  1291               To use DB CP:    org .apache.ja mes.util.d bcp.JdbcDa taSource
  1292               To use Mo rdred: org .apache.ja mes.util.m ordred.Jdb cDataSourc e
  1293  
  1294               Change it  back, of  course, to  use Mordr ed.
  1295  
  1296               NOTE: DBC P is confi gured to r ecover fro m a databa se server  outage.
  1297                     Thi s, alone,  may be rea son for yo u to give  it a try.
  1298         -->
  1299         
  1300         <!--  Default J ames distr ibution in cludes Apa che Derby  database,  -->
  1301         <!--  which is  easy to em bed - but  we support  all the m ajor SQL    -->
  1302         <!--  databases  - just re configure  your JDBC  configurat ion -->
  1303         <!--
  1304         <dat a-source n ame="maild b" class=" org.apache .james.uti l.dbcp.Jdb cDataSourc e">
  1305            < driver>org .apache.de rby.jdbc.E mbeddedDri ver</drive r>
  1306            < dburl>jdbc :derby:../ apps/james /var/derby db;create= true</dbur l>
  1307            < user></use r>
  1308            < password>< /password>
  1309            < poolPrepar edStatemen ts>true</p oolPrepare dStatement s>
  1310            < max>20</ma x>
  1311         </da ta-source>
  1312         -->
  1313  
  1314         <!--  JDBC driv er .jar li braries fo r other RD BMS can be  placed in  ~james/li b/  -->
  1315  
  1316         <!--  You can d ownload la test Conne ctor/J fro m   -->
  1317         <!--  http://de v.mysql.co m/download s/connecto r/j/3.1.ht ml -->
  1318         <!--  -->
  1319         <!--  Example,  connecting  to a MySQ L database  called "m ail" on lo calhost-->
  1320         <!--  -->
  1321         <!--  The max v alue is th e maximum  number of  concurrent  connectio ns James w ill -->
  1322         <!--  open to t his databa se-->
  1323         <!--  If you se e "SQLExce ption: Giv ing up...  no connect ions avail able." in  your -->
  1324         <!--  log files  or bounce d mail you  should in crease thi s value -- >
  1325         <!--
  1326         <dat a-source n ame="maild b" class=" org.apache .james.uti l.dbcp.Jdb cDataSourc e">
  1327            < driver>com .mysql.jdb c.Driver</ driver>
  1328            < dburl>jdbc :mysql://1 27.0.0.1/m ail?autoRe connect=tr ue</dburl>
  1329            < user>usern ame</user>
  1330            < password>p assword</p assword>
  1331            < max>20</ma x>
  1332         </da ta-source>
  1333         -->
  1334  
  1335         <!--  Example,  connecting  to a Micr osoft MSSQ L database  called "m ail" on lo calhost-->
  1336         <!--  -->
  1337         <!--  The max v alue is th e maximum  number of  concurrent  connectio ns James w ill -->
  1338         <!--  open to t his databa se-->
  1339         <!--  If you se e "SQLExce ption: Giv ing up...  no connect ions avail able." in  your -->
  1340         <!--  log files  or bounce d mail you  should in crease thi s value -- >
  1341         <!--
  1342         <dat a-source n ame="maild b" class=" org.apache .james.uti l.dbcp.Jdb cDataSourc e">
  1343            < driver>com .inet.tds. TdsDriver< /driver>
  1344            < dburl>jdbc :inetdae7: 127.0.0.1? database=J ames</dbur l>
  1345            < user>sa_ja mes</user>
  1346            < password>b lahblah</p assword>
  1347            < max>20</ma x>
  1348         </da ta-source>
  1349         -->
  1350  
  1351         <!--  Here is a  configura tion for h sqldb (for merly Hype rsonicSQL)  -->
  1352         <!--  You can d ownload th e db from  http://www .hsqldb.or g/ . Just  put the -- >
  1353         <!--  hsqldb.ja r in the l ib directo ry and unc omment the  following  block -->
  1354         <!--
  1355         <dat a-source n ame="maild b" class=" org.apache .james.uti l.dbcp.Jdb cDataSourc e">
  1356            < driver>org .hsqldb.jd bcDriver</ driver>
  1357            < dburl>jdbc :hsqldb:ta rget/data/ hsqldb</db url>
  1358            < user>sa</u ser>
  1359            < password>< /password>
  1360            < max>20</ma x>
  1361         </da ta-source>
  1362         -->
  1363  
  1364      </datab ase-connec tions>
  1365  
  1366      <!-- Co nfiguratio n for Corn erstone Se rvices -->
  1367      <!-- -- >
  1368      <!-- Fo r a simple  configura tion, noth ing beneat h this lin e should r equire -->
  1369      <!-- al teration.  -->
  1370      <!-- -- >
  1371      <!-- Yo u will nee d to adjus t the Sock et Manager  service c onfigurati on if you  want -->
  1372      <!-- to  enable se cure socke ts (TLS) f or any Jam es service .                          -->
  1373      <!-- -- >
  1374      <!-- Co mplex or h igh volume  configura tions may  require ch anges to t he paramet ers -->
  1375      <!-- in  this sect ion.  Plea se read th e James an d Avalon d ocumentati on before  -->
  1376      <!-- at tempting t o adjust t his sectio n. -->
  1377      <!-- -- >
  1378  
  1379      <!-- Th e Connecti on Manager  block -->
  1380      <!-- -- >
  1381      <!-- Th e idle-tim eout is th e number o f millisec onds that  it will ta ke for idl e -->
  1382      <!-- cl ient conne ctions man aged by th is connect ion manage r to be ma rked at ti med out. - ->
  1383      <!-- If  no value  is specifi ed, the va lue defaul ts to 5 mi nutes, 300 000 millis econds -->
  1384      <!-- A  value of 0  means tha t client s ockets wil l not time out. -->
  1385      <!-- -- >
  1386      <!-- Th e max-conn ections pa rameter sp ecifies th e default  maximum nu mber of cl ient -->
  1387      <!-- co nnections  that this  connection  manager w ill allow  per manage d server s ocket. -->
  1388      <!-- Th is value c an be over ridden by  each indiv idual serv ice. -->
  1389      <!-- If  no value  is specifi ed, the va lue defaul ts to 30.  -->
  1390      <!-- A  value of 0  creates a  maximum o f 1 connec tion due t o the use  of the Har dResourceL imiting -- >
  1391      <!-- th read pool  by the Ser verConnect ion class.  -->
  1392      <!-- Re source lim itations i mposed by  other comp onents (i. e. max # o f threads)  may -->
  1393      <!-- se rve to lim it the num ber of ope n connecti ons. -->
  1394      <!-- -- >
  1395      <connec tions>
  1396         <idl e-timeout> 300000</id le-timeout >
  1397         <max -connectio ns>30</max -connectio ns>
  1398      </conne ctions>
  1399  
  1400      <!-- Th e Socket M anager blo ck -->
  1401      <!-- -- >
  1402      <!-- Th e server-s ockets ele ment has a  number of  factory s ub-element s. -->
  1403      <!-- Ea ch of the  factory el ements has  a name an d class at tribute -- >
  1404      <!-- Th e name att ribute for  each fact ory elemen t must be  unique.  - ->
  1405      <!-- Th e class at tribute is  the name  of a class  that impl ements the  -->
  1406      <!-- in terface or g.apache.a valon.corn erstone.se rvices.Ser verSocketF actory -->
  1407      <!-- Sp ecific fac tory eleme nts may re quire some  sub-eleme nts.  This  is -->
  1408      <!-- fa ctory clas s dependen t. -->
  1409      <!-- -- >
  1410      <!-- Th e client-s ockets ele ment has a  number of  factory s ub-element s. -->
  1411      <!-- Ea ch of the  factory el ements has  a name an d class at tribute -- >
  1412      <!-- Th e name att ribute for  each fact ory elemen t must be  unique.  - ->
  1413      <!-- Th e class at tribute is  the name  of a class  that impl ements the  -->
  1414      <!-- in terface or g.apache.a valon.corn erstone.se rvices.Soc ketFactory  -->
  1415      <!-- Sp ecific fac tory eleme nts may re quire some  sub-eleme nts.  This  is -->
  1416      <!-- fa ctory clas s dependen t. -->
  1417      <!-- -- >
  1418      <!-- In  order to  use the ss l factory  under Java  1.5 and s upport all  Clients - ->
  1419      <!-- (p articularl y Mozilla  Thunderbir d) you nee d to insta ll the Sun  JCE -->
  1420      <!-- pr ovider in  your envir onment (ja mes/lib) - ->
  1421      <!-- e. g: jre/lib /ext/sunjc e_provider .jar -->
  1422      <!--  - ->
  1423      <socket s>
  1424         <ser ver-socket s>
  1425            < factory na me="plain"  class="or g.apache.a valon.corn erstone.bl ocks.socke ts.Default ServerSock etFactory" />
  1426            < !--
  1427            < factory na me="ssl" c lass="org. apache.ava lon.corner stone.bloc ks.sockets .TLSServer SocketFact ory">
  1428                <ssl-fac tory>
  1429                   <keys tore>
  1430                      <f ile>conf/k eystore</f ile>
  1431                        <password> REDACTED </password >
  1432                        <key-passw ord> REDACTED </key-pass word>
  1433                      <t ype>JKS</t ype>
  1434                      <p rotocol>TL S</protoco l>
  1435                      <a lgorithm>S unX509</al gorithm>
  1436                      <a uthenticat e-client>f alse</auth enticate-c lient>
  1437                   </key store>
  1438                </ssl-fa ctory>
  1439            < /factory>
  1440            - ->
  1441         </se rver-socke ts>
  1442         <cli ent-socket s>
  1443            < factory na me="plain"  class="or g.apache.a valon.corn erstone.bl ocks.socke ts.Default SocketFact ory"/>
  1444         </cl ient-socke ts>
  1445      </socke ts>
  1446  
  1447      <!-- Th e Thread M anager blo ck -->
  1448      <!-- -- >
  1449      <!-- Th e thread m anager pro vides thre ad pools f or use thr oughout th e server.  -->
  1450      <!-- -- >
  1451      <!-- A  thread poo l with the  name "def ault" must  be define d in this  thread man ager -->
  1452      <!-- co nfiguratio n. -->
  1453      <!-- -- >
  1454      <!-- Ea ch thread  pool is de fined with  a "thread -group" el ement. -->
  1455      <!-- Ea ch of thes e elements  has the f ollowing r equired su b-elements : -->
  1456      <!--    name - the  name of t he thread  pool, used  by other  components  to -->
  1457      <!--           loo kup the th read pool  -->
  1458      <!--    priority -  the threa d priority  for threa ds in the  pool.  Thi s is -->
  1459      <!--                a value b etween 0 a nd 10, wit h 5 being  the normal  -->
  1460      <!--                priority  and 10 bei ng the max imum. -->
  1461      <!--    is-daemon  - whether  the thread s in the p ool are da emon threa ds. -->
  1462      <!--    max-thread s - the ma ximum numb er of thre ads allowe d in the p ool. -->
  1463      <!--    min-thread s - the mi nimum numb er of thre ads allowe d in the p ool. (not  implemente d) -->
  1464      <!--    min-spare- threads -  (not imple mented) -- >
  1465      <thread -manager>
  1466         <thr ead-group>
  1467            < name>defau lt</name>
  1468            < priority>5 </priority >
  1469            < is-daemon> false</is- daemon>
  1470            < max-thread s>100</max -threads>
  1471            < min-thread s>20</min- threads>
  1472            < min-spare- threads>20 </min-spar e-threads>
  1473         </th read-group >
  1474      </threa d-manager>
  1475   </config>