Hi Gerry,

I just tested on a local james the 3 files you sent (mailserver.xml, mailetcontainer.xml and domainlist.xml). I created a user [email protected] :) with "adduser [email protected] pwd", sent an email from thunderbird to james, and the mail was delivered locally. I was able to read it from a mail client via imap (with [email protected] / pwd as credential).

So I think your conf is good.

You said you can use james as relay with your acccount, but can you read your mailbox via pop3/imap4.

As last action (if really it does not work, as don't want to loose hours), I would simply remove the derbydb sub-folder in var (or clean whatever DB you use if you changed database.properties). This will allow to start from a fresh database and get rid of eventual pitfalls you may have encountered at the beginning trying different configuration (maybe... in my case, it happened a few times).

Tks,

Eric


On 11/11/2010 08:16, Gerry Matte wrote:
See attached.
Gerry

--------------------------------------------------
From: "Norman" <[email protected]>
Sent: Wednesday, November 10, 2010 10:57 PM
To: <[email protected]>
Subject: Re: Address-Errors for valid user accounts

Hi,

I would be interested in:

domainlist.xml
mailetcontainer.xml
mailserver.xml

Thx,
Norman

Am 11.11.2010 07:53, schrieb Gerry Matte:
Yes - I did enable virtual hosting
Are there any specific CONF files I should submit ?
Gerry

--------------------------------------------------
From: "Norman" <[email protected]>
Sent: Wednesday, November 10, 2010 10:27 PM
To: <[email protected]>
Subject: Re: Address-Errors for valid user accounts

Hi Gerry,

the mailinglist strip of attachments. Anyway I have a guess. Did you
enable virtualhosting in mailserver.xml ? If not you will need todo so..

Bye,
Norman

Am 11.11.2010 05:33, schrieb Gerry Matte:

When I use Windows Live Mail client (as [email protected]) on my remote PC I can send an email to [email protected] which is hosted on james3. However, as noted below the james3 mailcontext stores the received text as an address-error with no error message back to the sender.

When I use Outlook Express on the james server and I login as [email protected], I can successfully send emails to the remote mailbox [email protected]. Proof that the userid is not invalid since it has the right to send emails.

The james-server.log ends with:
INFO 20:20:11,187 | james.smtpserver | Successfully spooled mail Mail1289442011125-1 from [email protected] on 64.59.134.9 for [[email protected]] INFO 20:20:11,406 | james.mailetcontext | Storing mail Mail1289442011125-1 in file://var/mail/address-error/ INFO 21:30:34,531 | james.smtpserver | Successfully spooled mail Mail1289446234500-3 from [email protected] on 69.11.121.248 for [[email protected]] INFO 21:30:34,562 | james.mailetcontext | Attempting delivery of Mail1289446234500-3-to-shaw.ca to host idcmail.shaw.ca. at 24.71.223.11 for addresses [[email protected]] INFO 21:30:35,296 | james.mailetcontext | Mail (Mail1289446234500-3-to-shaw.ca) sent successfully to idcmail.shaw.ca. at 24.71.223.11 for [[email protected]]

Below is the output from a Remote Admin listing of users:
JAMES Remote Administration Tool
Please enter your login and password
[snip]

Welcome matteg. HELP for a list of commands
listusers

Existing accounts 9
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]
user: [email protected]

I am at a loss as to what may be causing the address error for a james userid that is clearly in existance. Any ideas where I should look ?

I've attached a zip file with my CONF files in case you can see the error right away.

Thanks
Gerry
Gerry Matte
250-383-2466      http://www.gerrymatte.ca



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

domainlist.xml


<?xml version="1.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.
  -->


<!-- Domainnames identifies the DNS namespace served by this instance of
James. -->
<!-- These domainnames are used for both matcher/mailet processing and SMTP
auth -->
<!-- to determine when a mail is intended for local delivery. -->
<!-- -->
<!-- If autodetect is TRUE, James wil attempt to discover its own host name
AND -->
<!-- use any explicitly specified servernames. -->
<!-- If autodetect is FALSE, James will use only the specified
domainnames. -->
<!-- -->
<!-- If autodetectIP is not FALSE, James will also allow add the IP address
for each servername. -->
<!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address
literals. -->
<!-- -->
<!-- To override autodetected domainames names simply add explicit
domainname elements. -->
<!-- In most cases this will be necessary. -->
<!-- By default, the domainname 'localhost' is specified. This can be
removed, if required. -->
<!-- -->
<!-- Warning: If you are using fetchmail it is important to include the -->
<!-- fetched domains in the server name list to prevent looping.       -->
<domainlists>

   <!-- XML based DomainList implementation  -->
   <domainlist class="org.apache.james.domainlist.xml.XMLDomainList">
     <domainnames>
          <domainname>gerrymatte.ca</domainname>
          <domainname>gerrymatte.com</domainname>
          <domainname>dmsservices.ca</domainname>
          <domainname>candnoilfield.com</domainname>
          <domainname>localhost</domainname>
          <domainname>69.11.121.248</domainname>
          <domainname>127.0.0.1</domainname>
          <domainname>192.168.12.10</domainname>
     </domainnames>
     <autodetect>false</autodetect>
     <autodetectIP>true</autodetectIP>
   </domainlist>


   <!-- JPA implementation for DomainList -->
   <!--
   <domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
     <autodetect>true</autodetect>
     <autodetectIP>true</autodetectIP>
   </domainlist>
   -->

   <!-- JDBC implementation for DomainList. This is deprecated and should not
be used. -->
   <!-- Use JPADomainList if you need a db backend DomainList -->
   <!--
   <domainlist class="org.apache.james.domainlist.jdbc.JDBCDomainList">
     <repositoryPath>db://maildb/domain</repositoryPath>
     <sqlFile>file://conf/sqlResources.xml</sqlFile>
     <autodetect>true</autodetect>
     <autodetectIP>true</autodetectIP>
   </domainlist>
   -->
</domainlists>
mailetcontainer.xml


<?xml version="1.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.
  -->
<!-- This block is responsible for processing messages on the spool. -->
  <mailetcontainer>
       <!-- Number of spool threads -->
       <threads>  20</threads>

       <!-- Set the Java packages from which to load mailets -->
       <mailetpackages>
         <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
         <!-- Cryptography Mailets -->
         <mailetpackage>org.apache.james.mailet.crypto.mailet</mailetpackage>
         <!-- Sieve Mail Scripting -->
         <mailetpackage>org.apache.james.imapserver.sieve</mailetpackage>
       </mailetpackages>

       <!-- Set the Java packages from which to load matchers -->
       <matcherpackages>
         <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
         <!-- Crytographic matchers -->
         <matcherpackage>org.apache.james.mailet.crypto.matchers</matcherpack
age>
         <!-- Composite matchers -->
         <matcherpackage>org.apache.james.mailetcontainer.lib.matchers</match
erpackage>
       </matcherpackages>

       <!-- The root processor is a required processor - James routes all
mail on the spool -->
       <!-- through this processor first. -->
       <!-- -->
       <!-- This configuration is a sample configuration for the root
processor. -->
       <processor name="root">

          <!-- This mailet redirects mail for the user 'postmaster' at any
local domain to -->
          <!-- the postmaster address specified for the server. The
postmaster address -->
          <!-- is required by rfc822. Do not remove this mailet unless you
are meeting -->
          <!-- this requirement through other means (e.g. a
XML/JDBCVirtualUserTable defined in virtualusertable-store.xml) -->
          <mailet match="All" class="PostmasterAlias"/>

          <!-- Checks that the email Sender is associated with a valid
domain. -->
          <!-- Useful for detecting and eliminating spam. -->
          <!-- For this block to function, the spam processor must be
configured. -->
          <!--
          <mailet
match="SenderInFakeDomain=64.55.105.9,64.94.110.11,194.205.62.122,194.205.62
.62,195.7.77.20,206.253.214.102,212.181.91.6,219.88.106.80,194.205.62.42,216
.35.187.246,203.119.4.6" class="ToProcessor">
             <processor>  spam</processor>
          </mailet>
          -->

          <!-- Important check to avoid looping -->
          <mailet match="RelayLimit=30" class="Null"/>

          <!-- Check for viruses -->
          <!-- -->
          <!-- Does an antivirus scan check using a ClamAV daemon
(CLAMD). -->
          <!-- -->
          <!-- Interacts directly with the daemon using the "stream"
method, -->
          <!-- which should have the lowest possible overhead. -->
          <!-- The CLAMD daemon will typically reside on localhost, but could
reside on a -->
          <!-- different host. -->
          <!-- It may also consist on a set of multiple daemons, each
residing on a different -->
          <!-- server and on different IP number. -->
          <!-- In such case a DNS host name with multiple IP addresses
(round-robin load sharing) -->
          <!-- is supported by the mailet (but on the same port number). -->
          <!-- -->
          <!-- Handles the following init parameters: -->
          <!--<debug>  -->
          <!--<host>: the host name of the server where CLAMD runs. It can
either be -->
          <!--     a machine name, such as -->
          <!--     "java.sun.com", or a textual representation of its -->
          <!--     IP address. If a literal IP address is supplied, only
the -->
          <!--     validity of the address format is checked. -->
          <!--     If the machine name resolves to multiple IP addresses,
round-robin load sharing will -->
          <!--     be used. -->
          <!--     The default is "localhost". -->
          <!--<port>: the port on which CLAMD listens. The default is
"3310". -->
          <!--<maxPings>: the maximum number of connection retries during
startup. -->
          <!--     If the value is "0" no startup test will be done. -->
          <!--     The default is "6". -->
          <!--<pingIntervalMilli>: the interval (in milliseconds) -->
          <!--     between each connection retry during startup. -->
          <!--     The default is "30000" (30 seconds). -->
          <!--<streamBufferSize>: the BufferedOutputStream buffer size to
use  -->
          <!--     writing to the stream connection. The default is
"8192". -->
          <!--
          <mailet match="All" class="ClamAVScan" onMailetException="ignore">
             <debug>  true</debug>
          </mailet>
          -->

          <!-- If infected go to virus processor -->
          <mailet match="HasMailAttributeWithValue=org.apache.james.infected,
true" class="ToProcessor">
             <processor>  virus</processor>
          </mailet>

          <!-- Check attachment extensions for possible viruses -->
          <!-- The "-z" option requests the check to be non-recursively
applied -->
          <!-- to the contents of any attached '*.zip' file. -->
          <!--
          <mailet match="AttachmentFileNameIs=-d -z *.exe *.com *.bat *.cmd
*.pif *.scr *.vbs *.avi *.mp3 *.mpeg *.shs" class="Bounce"
onMatchException="error">
             <inline>heads</inline>
             <attachment>none</attachment>
             <passThrough>false</passThrough>
             <prefix>[REJECTED]</prefix>
             <notice>
The Security Policy of XXX does not allow to forward messages containing
attachments having any of the extensions .exe, .com, .bat, .cmd, .pif, .scr,
.vbs, .avi, .mp3, .mpeg, .shs, therefore your message has been rejected.

Please don't reply to this e-mail as it has been automatically sent by the
antivirus system.

Regards, Postmaster XXX.YYY
.....................................
             </notice>
          </mailet>
          -->

          <!-- Whitelist Management -->
          <!-- Manages for each local user a "white list" of remote addresses
whose messages -->
          <!-- should never be blocked as spam. -->
          <!-- -->
          <!-- If<automaticInsert>  is true, it will check, for a local
sender, if a remote recipient -->
          <!-- is already in the list: if not, it will be automatically
inserted. -->
          <!-- This is under the interpretation that if a local sender X
sends a message to a -->
          <!-- remote recipient Y, then later on if a message is sent by Y to
X it should be -->
          <!-- considered always valid and never blocked; hence Y should be
in the white list -->
          <!-- of X. -->
          <!-- -->
          <!-- Another mode of operations is when a local sender sends a
message to<whitelistManagerAddress>  -->
          <!-- with one of three specific values in the subject, to -->
          <!-- (i) send back a message displaying a list of the addresses in
his own list (<displayFlag>); -->
          <!-- (ii) insert some new addresses in his own list
(<insertFlag>); -->
          <!-- (iii) remove some addresses from his own list
(<removeFlag>). -->
          <!-- In all of the three above cases the message will be ghosted
and the postmaster will reply -->
          <!-- to the sender. -->
          <!-- -->
          <!-- The sender name is always converted to its primary name
(handling aliases). -->
          <!--
          <mailet match="SMTPAuthSuccessful" class="WhiteListManager"
onMailetException="ignore">
             <repositoryPath>db://maildb</repositoryPath>
             <automaticInsert>true</automaticInsert>
             <whitelistManagerAddress>[email protected]</whitelistMan
agerAddress>
             <displayFlag>display</displayFlag>
             <insertFlag>insert</insertFlag>
             <removeFlag>remove</removeFlag>
          </mailet>
          -->

          <!-- "not spam" bayesian analysis feeder. -->
          <!--
          <mailet match="[email protected]"
class="BayesianAnalysisFeeder">
             <repositoryPath>  db://maildb</repositoryPath>
             <feedType>ham</feedType>
             <maxSize>200000</maxSize>
          </mailet>
          -->

          <!-- "spam" bayesian analysis feeder. -->
          <!--
          <mailet match="[email protected]"
class="BayesianAnalysisFeeder">
             <repositoryPath>  db://maildb</repositoryPath>
             <feedType>spam</feedType>
             <maxSize>200000</maxSize>
          </mailet>
          -->

          <!-- sample SMIME mailets configuration -->
          <!--
          <mailet match="IsSMIMEEncrypted" class="SMIMEDecrypt">
             <keyStoreType>pkcs12</keyStoreType>
             <keyStoreFileName>c:/path.pfx</keyStoreFileName>
             <keyStorePassword>myKeyStorePass</keyStorePassword>
             <keyAlias>myKeyAlias</keyAlias>
             <keyAliasPassword>myKeyPass</keyAliasPassword>
          </mailet>

          <mailet match="IsSMIMESigned" class="SMIMECheckSignature">
             <keyStoreType>pkcs12</keyStoreType>
             <keyStoreFileName>c:/path.pfx</keyStoreFileName>
             <keyStorePassword>myKeyStorePass</keyStorePassword>
             <strip>false</strip>
             <onlyTrusted>true</onlyTrusted>
          </mailet>
          -->

          <!--

          XMLVirtualUserTable is deprecated - Use the definitions in
virtualusertable-store.xml

          <mailet match="All" class="XMLVirtualUserTable">
             <!- 1:1 mapping ->
             <mapping>morg...@middle-earth=sauron@mordor</mapping>
             <!- 1:n mapping ->
             <mapping>ist...@middle-earth=saruman@isengard;radigast;gandalf</
mapping>
             <!- DSN mapping ->
             <mapping>boro...@osgilliath=error:550 Requested action not
taken: no such user here</mapping>
             <!- regex based mapping ->
             <mapping>*...@osgilliath=regex:(.*)@osgilliath:$...@minas-tirith</m
apping>
             <!- both standard and regex mapping ->
             <mapping>r...@*=onering@mordor;regex:ring@(.*):r...@${1}</mappin
g>
             <!- conditional regex mapping example ->
             
<mapping>*...@listserver=regex:(.*)-...@listserver:${1}-subscr...@li
stserver;
                                   regex:(.*)-...@listserver:${1}-unsubscribe
@listserver
             </mapping>
          </mailet>

          -->

          <!-- Anti-spam processing -->
          <!-- The following two entries avoid double anti-spam analysis -->
          <!-- for forwarded messages. -->
          <!-- Has spam checking already been done? -->
          <mailet match="HasMailAttribute=spamChecked" class="ToProcessor">
             <processor>  transport</processor>
          </mailet>
          <!-- Spam checking will not be done twice -->
          <mailet match="All" class="SetMailAttribute">
             <spamChecked>true</spamChecked>
          </mailet>

          <!-- White List:
               If you use block lists, you will probably want to check
               for known permitted senders.  This is particularly true
               if you use more aggressive block lists, such as SPEWS,
               that are prone to block entire subnets without regard
               for non-spamming senders.
          -->

          <!-- Messages from authenticated senders never are spam -->
          <mailet match="SMTPAuthSuccessful" class="ToProcessor">
             <processor>  transport</processor>
          </mailet>

          <!-- Messages signed by trusted users never are spam -->
          <!-- Uncommenting the following entry, messages with valid
signatures will never be considered spam. -->
          <!-- This can be a valid policy *if* SMIMECheckSignature was
invoked -->
          <!-- with<onlyTrusted>true</onlyTrusted>  set -->
          <!--
          <mailet
match="HasMailAttribute=org.apache.james.SMIMECheckSignature"
class="ToProcessor">
             <processor>  transport</processor>
          </mailet>
          -->

          <!-- specific known senders -->
          <!--
          <mailet match="senderis=good...@goodhost"
                  class="ToProcessor">
             <processor>  transport</processor>
          </mailet>
          -->

          <!-- People on this list agree to pay a penalty if they send
spam -->
          <mailet match="InSpammerBlacklist=query.bondedsender.org."
                  class="ToProcessor">
            <processor>  transport</processor>
          </mailet>

          <!-- E-mail legally required not to be spam (see:
http://www.habeas.com) -->
          <!--
          <mailet match="HasHabeasWarrantMark" class="ToProcessor">
             <processor>  transport</processor>
          </mailet>
          -->

          <!-- If the sender is in a recipient's whitelist, it is a valid
sender, -->
          <!-- and as such the message should not be considered spam for such
recipient. -->
          <!--
          <mailet match="IsInWhiteList=db://maildb" class="ToProcessor"
onMatchException="noMatch">
             <processor>  transport</processor>
          </mailet>
          -->

          <!-- End of White List -->

          <!-- Check for delivery from a known spam server -->
          <!-- This set of matchers/mailets redirect all emails from
known -->
          <!-- black holes, open relays, and spam servers to the spam
processor -->
          <!-- For this set to function properly, the spam processor must be
configured. -->
          <mailet match="InSpammerBlacklist=dnsbl.njabl.org."
                  class="ToProcessor">
            <processor>  spam</processor>
            <notice>550 Requested action not taken: rejected - see
http://njabl.org/</notice>
          </mailet>

          <!-- Sample matching to kill a message (send to Null) -->
          <!--
          <mailet match="recipientis=bad...@badhost" class="Null"/>
          -->

          <!-- Anti spam bayesian analysis -->
          <!--
          <mailet match="All" class="BayesianAnalysis"
onMailetException="ignore">
             <repositoryPath>db://maildb</repositoryPath>
         <maxSize>200000</maxSize>
             <headerName>X-MessageIsSpamProbability</headerName>
             <ignoreLocalSender>true</ignoreLocalSender>
          </mailet>

          <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability
0.90" class="SetMailAttribute" onMatchException="noMatch">
             <isSpam>true</isSpam>
          </mailet>

          <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability
0.90" class="SetMimeHeader" onMatchException="noMatch">
             <name>X-MessageIsSpam</name>
             <value>true</value>
          </mailet>

          <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability
0.99" class="ToProcessor" onMatchException="noMatch">
             <processor>  spam</processor>
             <notice>Spam not accepted</notice>
          </mailet>
          -->

          <!-- Send remaining mails to the transport processor for either
local or remote delivery -->
          <mailet match="All" class="ToProcessor">
             <processor>  transport</processor>
          </mailet>
       </processor>

       <!-- The error processor is required.  James may internally set emails
to the -->
       <!-- error state.  The error processor is generally invoked when there
is an -->
       <!-- unexpected error either in the mailet chain or internal to
James. -->
       <!-- -->
       <!-- By default configuration all email that generates an error in
placed in -->
       <!-- an error repository. -->
       <processor name="error">
          <!-- If you want to notify the sender their message generated an
error, uncomment this       -->
          <!--
          <mailet match="All" class="Bounce"/>
          -->
          <!-- If you want to notify the postmaster that a message generated
an error, uncomment this  -->
          <!--
          <mailet match="All" class="NotifyPostmaster"/>
          -->

          <!-- Logs any messages to the repository specified -->
          <mailet match="All" class="ToRepository">
             <repositoryPath>  file://var/mail/error/</repositoryPath>
             <!-- An alternative database repository example follows. -->
             <!--
             <repositoryPath>  db://maildb/deadletter/error</repositoryPath>
             -->
          </mailet>
       </processor>

       <!-- Processor CONFIGURATION SAMPLE: transport is a sample custom
processor for local or -->
       <!-- remote delivery -->
       <processor name="transport">

         <!-- This is an example configuration including configuration for a
list server. -->
         <!-- CHECKME: before uncommenting this, edit the configuration
file's contents   -->
         <!--
           &listserverConfig;
         -->

          <mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
             <name>X-UserIsAuth</name>
             <value>true</value>
          </mailet>

          <mailet
match="HasMailAttribute=org.apache.james.SMIMECheckSignature"
class="SetMimeHeader">
             <name>X-WasSigned</name>
             <value>true</value>
          </mailet>

          <!-- Add a server-side signature -->
          <!--
          <mailet match="All" class="SMIMESign" onMailetException="ignore">
             <keyStoreType>jks</keyStoreType>
             <keyStoreFileName>path.keystore</keyStoreFileName>
             <keyStorePassword>myKeyStorePass</keyStorePassword>
             <keyAlias>myKeyAlias</keyAlias>
             <keyAliasPassword>myKeyPass</keyAliasPassword>
             <signerName>XXX Trusted Server</signerName>
             <rebuildFrom>true</rebuildFrom>
             <postmasterSigns>true</postmasterSigns>
             <debug>true</debug>
          </mailet>
          -->

          <!-- Experimental quota Matcher -->
          <!-- This matcher need to calculate the mailbox size everytime it
is called. This can slow down things if there are many mails in -->
          <!-- the mailbox. Some users also report big problems with the
matcher if a JDBC based mailrepository is used. -->
          <!-- Check if over quota -->
          <!--
          <mailet match="RecipientIsOverFixedQuota=20M" class="Resend">
             <sender>postmaster</sender>
             <replyTo>postmaster</replyTo>
             <reversePath>null</reversePath>
             <inline>none</inline>
             <attachment>message</attachment>
             <prefix>[OVER QUOTA WARNING]</prefix>
             <message>
When receiving the attached message, your mailbox is larger than 20 MB,
which is the maximum allowed quota. The mailbox will not be blocked, but we
ask you to empty it ASAP.

It is likely that you have set, in your mail client account, the option
"leave a copy of messages on server". For any help ask your administrators.

Regards, Postmaster XXX.YYY
.....................................
             </message>
          </mailet>
          -->

          <!--  The VirtualUserTable will use the definitions found in
virtualusertable-store.xml -->
          <mailet match="All" class="VirtualUserTable">
              <virtualusertable>DefaultVirtualUserTable</virtualusertable>
          </mailet>

          <!-- Is the recipient is for a local account, deliver it
locally -->
          <mailet match="RecipientIsLocal" class="LocalDelivery"/>

          <!-- If the host is handled by this server and it did not get -->
          <!-- locally delivered, this is an invalid recipient -->
          <mailet match="HostIsLocal" class="ToProcessor">
             <processor>  local-address-error</processor>
             <notice>550 - Requested action not taken: no such user
here</notice>
          </mailet>

<!-- CHECKME! -->
          <!-- This is an anti-relay matcher/mailet combination -->
          <!-- -->
          <!-- Emails sent from servers not in the network list are  -->
          <!-- rejected as spam.  This is one method of preventing your -->
          <!-- server from being used as an open relay.  Make sure you
understand -->
          <!-- how to prevent your server from becoming an open relay
before -->
          <!-- changing this configuration. See also<authorizedAddresses>  in
SMTP Server -->
          <!-- -->
          <!-- This matcher/mailet combination must come after local delivery
has -->
          <!-- been performed.  Otherwise local users will not be able to
receive -->
          <!-- email from senders not in this remote address list. -->
          <!-- -->
          <!-- If you are using this matcher/mailet you will probably want
to -->
          <!-- update the configuration to include your own
network/addresses.  The -->
          <!-- matcher can be configured with a comma separated list of IP
addresses  -->
          <!-- wildcarded IP subnets, and wildcarded hostname subnets. -->
          <!-- e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*,
192.168.0.*" -->
          <!-- -->
          <!-- If you are using SMTP authentication then you can (and
generally -->
          <!-- should) disable this matcher/mailet pair.
          <mailet match="RemoteAddrNotInNetwork=127.0.0.1"
class="ToProcessor">
             <processor>  relay-denied</processor>
             <notice>550 - Requested action not taken: relaying
denied</notice>
          </mailet>
        -->

          <!-- Attempt remote delivery using the specified repository for the
spool, -->
          <!-- using delay time to retry delivery and the maximum number of
retries -->
          <mailet match="All" class="RemoteDelivery">
             <outgoingQueue>  outgoing</outgoingQueue>

             <!-- Delivery Schedule based upon RFC 2821, 4.5.4.1 -->
             <!-- 5 day retry period, with 4 attempts in the first
                  hour, two more within the first 6 hours, and then
                  every 6 hours for the rest of the period. -->
             <delayTime>   5 minutes</delayTime>
             <delayTime>  10 minutes</delayTime>
             <delayTime>  45 minutes</delayTime>
             <delayTime>   2 hours</delayTime>
             <delayTime>   3 hours</delayTime>
             <delayTime>   6 hours</delayTime>
             <maxRetries>  25</maxRetries>

             <!-- The max reties which will used if no A or MX record for the
domain was found. -->
             <!-- If 0 it will fail on first time -->
             <maxDnsProblemRetries>  0</maxDnsProblemRetries>

             <!-- The number of threads that should be trying to deliver
outgoing messages -->
             <deliveryThreads>  1</deliveryThreads>

             <!-- If false the message will not be sent to given server if
any recipients fail -->
             <sendpartial>true</sendpartial>

             <!-- By default we send bounces to the "bounce" processor -->
             <!-- By removing this configuration James will fallback to
hardcoded bounce -->
             <!-- notifications -->
             <bounceProcessor>bounces</bounceProcessor>

             <!-- A single mail server to deliver all outgoing messages. -->
             <!-- This is useful if this server is a backup or failover
machine, -->
             <!-- or if you want all messages to be routed through a
particular mail server, -->
             <!-- regardless of the email addresses specified in the
message -->
             <!-- -->
             <!-- The gateway element specifies the gateway SMTP server
name. -->
             <!-- If your gateway mail server is listening on a port other
than 25, -->
             <!-- you can set James to connect to it on that port using the
gatewayPort -->
             <!-- element. -->
             <!-- Although normally multiple addresses are implemented
through proper -->
             <!-- DNS configuration, the RemoteDelivery mail does allow
specifying -->
             <!-- multiple gateway elements, each of which may also have a
port -->
             <!-- e.g., mygateway:2525 -->
             <!-- the gatewayPort element is used as a default -->
             <!--
             <gateway>  otherserver.mydomain.com</gateway>
             <gatewayPort>25</gatewayPort>
             -->
             <!-- If the gateway requires smtp authentication the following
directives -->
             <!-- (gatewayUsername/gatewayPassword) can be used. -->
             <!--
             <gatewayUsername>login</gatewayUsername>
             <gatewayPassword>pass</gatewayPassword>
             -->

             <!-- Set the HELO/EHLO name to use when connectiong to remote
SMTP-Server -->
             <!--
             <mail.smtp.localhost>myMailServer</mail.smtp.localhost>
             -->
          </mailet>

       </processor>

       <!-- Processor CONFIGURATION SAMPLE: spam is a sample custom processor
for handling -->
       <!-- spam. -->
       <!-- You can either log these, bounce these, or just ignore them. -->
       <processor name="spam">
          <!-- To destroy all messages, uncomment this matcher/mailet
configuration -->
          <!--
          <mailet match="All" class="Null"/>
          -->

          <!-- To notify the sender their message was marked as spam,
uncomment this matcher/mailet configuration -->
          <!--
          <mailet match="All" class="Bounce"/>
          -->

          <!-- To notify the postmaster that a message was marked as spam,
uncomment this matcher/mailet configuration -->
          <!--
          <mailet match="All" class="NotifyPostmaster"/>
          -->

          <!-- To log the message to a repository, this matcher/mailet
configuration should be uncommented. -->
          <!-- This is the default configuration. -->
          <mailet match="All" class="ToRepository">
             <repositoryPath>file://var/mail/spam/</repositoryPath>

             <!-- Changing the repositoryPath, as in this commented out
example, will -->
             <!-- cause the mails to be stored in a database repository.  -->
             <!-- Please note that only one repositoryPath element can be
present for the mailet -->
             <!-- configuration. -->
             <!--
             <repositoryPath>  db://maildb/deadletter/spam</repositoryPath>
             -->
          </mailet>
       </processor>

       <!-- messages containing viruses. -->
       <processor name="virus">

          <!-- To avoid a loop while bouncing -->
          <mailet match="All" class="SetMailAttribute">
             <org.apache.james.infected>true,
bouncing</org.apache.james.infected>
          </mailet>

          <!-- If the sender is authenticated, notify the infection -->
          <mailet match="SMTPAuthSuccessful" class="Bounce">
             <inline>heads</inline>
             <attachment>none</attachment>
             <notice>  Warning: We were unable to deliver the message below
because it was found infected by virus(es).</notice>
          </mailet>

          <!-- In any other situation ghost it, -->
          <!-- as viruses almost always spoof the sender's address -->
          <mailet match="All" class="Null" />
       </processor>

       <!-- This processor handles messages that are for local domains, where
the user is unknown -->
       <processor name="local-address-error">
          <!-- To avoid bouncing/archiving spam, uncomment this
matcher/mailet configuration -->
          <!--
          <mailet match="HasMailAttribute=isSpam" class="Null"
onMatchException="noMatch"/>
          -->

          <!-- To notify the sender the address was invalid, uncomment this
matcher/mailet configuration -->
          <!-- The original message is not attached to keep the bounce
processor from deliverying spam -->
          <!-- -->
          <mailet match="All" class="Bounce">
             <attachment>none</attachment>
          </mailet>


          <!-- To notify the postmaster that a message had an invalid
address, uncomment this matcher/mailet configuration -->
          <!-- -->
          <mailet match="All" class="NotifyPostmaster"/>


          <mailet match="All" class="ToRepository">
             <repositoryPath>  file://var/mail/address-error/</repositoryPath>
             <!-- An alternative database repository example follows. -->
             <!--
             <repositoryPath>  db://maildb/deadletter/address-error
</repositoryPath>
             -->
          </mailet>
       </processor>

       <!-- This processor handles messages that are for foreign domains,
where relaying is denied -->
       <!-- As of James v2.2, this processor can be deprecated by using the
<authorizedAddresses>  tag
            in the SMTP Server, and rejecting the message in the protocol
transaction.  -->
       <processor name="relay-denied">
          <!-- To notify the sender the address was invalid, uncomment this
matcher/mailet configuration -->
          <!-- The original message is not attached to keep the bounce
processor from deliverying spam -->
          <!--
          <mailet match="All" class="Bounce">
             <attachment>none</attachment>
          </mailet>
          -->

          <!-- To notify the postmaster that a relay request was denied,
uncomment this matcher/mailet configuration -->
          <!--
          <mailet match="All" class="NotifyPostmaster"/>
          -->

          <mailet match="All" class="ToRepository">
             <repositoryPath>file://var/mail/relay-denied/</repositoryPath>
             <!-- An alternative database repository example follows. -->
             <!--
             <repositoryPath>  db://maildb/deadletter/relay-denied
</repositoryPath>
             -->
          </mailet>
       </processor>

       <!-- This processor handle the bounces from RemoteDelivery: As of
James v2.3, this is the new -->
       <!-- Default. -->
       <!-- -->
       <!-- DSNBounce properly create a DSN compliant bounce -->
       <processor name="bounces">
          <mailet match="All" class="DSNBounce">
             <passThrough>false</passThrough>

             <!-- optional subject prefix prepended to the original
message -->
             <!--
             <prefix>[bounce]</prefix>
             -->

             <!-- message, heads or none, default=message -->
             <!--
             <attachment>heads</attachment>
             -->

             <!-- the message sent in the bounce, the first occurrence of the
pattern [machine] is -->
             <!-- replaced with the name of the executing machine -->
             <!-- Default: Hi. This is the James mail server at [machine]
... -->
             <!--
             <messageString>Here is [machine]. I'm not able to deliver this
message.</messageString>
             -->
           </mailet>
       </processor>
    </mailetcontainer>
mailserver.xml


<?xml version="1.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.
  -->
<mailserver>
     <!-- CHECKME! -->
     <!-- This is the postmaster email address for this mail server. -->
     <!-- Set this to the appropriate email address for error reports -->
     <!-- If this is set to a non-local email address, the mail server -->
     <!-- will still function, but will generate a warning on startup. -->
     <postmaster>[email protected]</postmaster>

     <!-- Set to true to support virtualHosting. If virtualHosting support is
enabled the server will accept thread every user independ on -->
     <!-- domain level. -->
     <enableVirtualHosting>true</enableVirtualHosting>

     <!-- Set the default domain which will be used if an email is send to a
recipient without a domain part -->
     <!-- If not defaultdomain is set the first domain of the DomainList get
used -->
     <defaultDomain>gerrymatte.ca</defaultDomain>

     <!-- This is the name used by the server to identify itself in the
RemoteManager -->
     <!-- protocol.  If autodetect is TRUE, the server will discover its -->
     <!-- own host name and use that in the protocol.  If discovery
fails, -->
     <!-- the value of 'localhost' is used.  If autodetect is FALSE,
James -->
     <!-- will use the specified value. -->
     <!-- Set the default helloName which is used in all services if not
overridden in the specific service-->
     <helloName autodetect="false">www.dmsservices.ca</helloName>
</mailserver>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to