Hi Peter,

I have attached my config.xml file. Thanks a lot for
helping me out.

Imran

-----Original Message-----
From: Peter M. Goldstein [mailto:peter_m_goldstein@;yahoo.com]
Sent: Friday, October 18, 2002 8:10 PM
To: 'James Users List'
Subject: RE: Cannot send to external email address



Imran,

> If needed, I can send the config.xml file.

Please send the config.  It sounds like your mailets may be
misconfigured (specifically that RemoteDelivery is not getting invoked).

--Peter



--
To unsubscribe, e-mail:   <mailto:james-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:james-user-help@;jakarta.apache.org>
<?xml version="1.0"?>
<!--
                                README!

    This configuration file is designed to run without alteration, for simple
    tests.
    It assumes you have a DNS server on localhost and assigns a root pasword
    of root.

    For production use, or in case the defaults do not suit you, the items
    you are most likely to need to change are preceeded by a
    CHECKME! or
    CONFIRM? comment in the left
    margin.

    This is $Revision: 1.22 $
    Committed on $Date: 2002/03/11 21:46:32 $ by: $Author: serge $
-->
<config>

  <!-- The James block  -->
  <James>
<!-- CHECKME! Set this to the right email address for error reports -->
      <postmaster> Postmaster@localhost </postmaster>

<!-- CONFIRM? -->
      <!-- servernames identifies the DNS namespace served by this instance
      of James.
      If autodetect is TRUE, James wil attempt to discover its own name AND use
      any specified servernames.  If autodetect is FALSE, James will use only
      the specified servernames.  By default, the servername 'localhost' is
      specified. This can be removed, if required. -->
      <servernames autodetect="TRUE">
        <!--
        <servername>To override autodetected server names
                    uncomment this.  </servername>-->
        <servername>localhost</servername>
      </servernames>

      <!-- Set whether user names are case sensitive or insensitive -->
      <!-- Set whether to enable local aliases -->
      <usernames ignoreCase="TRUE" enableAliases="TRUE"
                                   enableForwarding="TRUE"/>



      <!-- The inbox repository is the location for users inboxes -->
      <!-- Default setting: file based repository - enter path ( :/// for absolute) -->
      <inboxRepository>
        <repository destinationURL="file://var/mail/inboxes/"
                    type="MAIL">
        </repository>
      </inboxRepository>
      <!-- Alternative inbox repository definition for DB use. -->
      <!--  The format for the destinationURL is "db://<data-source>/<table>"
            - <data-source> is the datasource name set up in the
                    database-connections block, below
            - <table> is the name of the table to store user inboxes in
           The user name is used as <repositoryName> for this repository config.

           <inboxRepository>
        <repository destinationURL="db://maildb/inbox/"
                    type="MAIL">
        </repository>
      </inboxRepository>
      -->
  </James>

  <!-- The James Spool Manager block  -->
  <spoolmanager>


      <!-- number of spool threads -->
      <threads> 10 </threads>

        <!-- Set the packages from which to load mailets and matches -->
        <mailetpackages>
          <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
        </mailetpackages>
        <matcherpackages>
          <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
        </matcherpackages>

        <!-- Processor CONFIGURATION SAMPLE:
             root is the first processor all mails enter -->
        <processor name="root">
          <!-- Checks that the MAIL FROM command was for a valid domain.
          Important for spam prevention. -->
          <!--
          <mailet match="SenderInFakeDomain" class="ToProcessor">
            <processor> spam </processor>
          </mailet>
          -->
          <!-- Important check to avoid race conditions -->
          <mailet match="RelayLimit=30" class="Null">
          </mailet>

          <!-- Check for delivery from a known spam server -->
          <mailet match="InSpammerBlacklist=blackholes.mail-abuse.org"
                  class="ToProcessor">
            <processor> spam </processor>
            <notice> Rejected - see  http://www.mail-abuse.org/rbl/ </notice>
          </mailet>

          <mailet match="InSpammerBlacklist=dialups.mail-abuse.org"
                  class="ToProcessor">
            <processor> spam </processor>
            <notice> Dialup - see http://www.mail-abuse.org/dul/ </notice>
          </mailet>

          <mailet match="InSpammerBlacklist=relays.mail-abuse.org"
                  class="ToProcessor">
            <processor> spam </processor>
            <notice> Open spam relay - see http://www.mail-abuse.org/rss/ </notice>
          </mailet>

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

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

        <!-- Processor CONFIGURATION SAMPLE: error is the processor mails with
        failure conditions enter -->
        <processor name="error">
          <!-- Logs any messages to the repository specified -->
          <mailet match="All" class="ToRepository">
            <repositoryPath> file://var/mail/error/</repositoryPath>
            <!-- <repositoryPath> db://conf/mail-error.properties </repositoryPath> -->
            <passThrough> true </passThrough>
          </mailet>

          <!-- If you want to notify the sender their message was marked as
          spam, uncomment this
          <mailet match="All" class="NotifySender">
          </mailet>
          -->

          <!-- If you want to notify the postmaster that a message was marked
          as spam, uncomment this
          <mailet match="All" class="NotifyPostmaster">
          </mailet>
          -->
        </processor>

        <!--  Processor CONFIGURATION SAMPLE: transport is a sample custom
        processor for local or remote delivery -->
        <processor name="transport">
          <!-- Is the recipient is for a local account, deliver it locally -->
          <mailet match="RecipientIsLocal" class="LocalDelivery">
          </mailet>

          <!-- 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>error</processor>
          </mailet>

<!-- CHECKME!
    Anti-relay mailet: Add your network address here,
    e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*"
-->

          <!-- This matcher-mailet pair can prevent relaying... if you change
          this,  you risk making your mail server an open relay point for
          spammers .
          NOTE 1: the order of matcher-mailets is important: it must come after
          valid local recipients have been dealt with but before any attempt is
          made to delivery the mail remotely.
          NOTE 2: Add your own network, if you want to relay mail outwards
          NOTE 3: If you use SMTP AUTH, you may want to comment this
          so users who are on the road can still use the server -->
          <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
            <processor> spam </processor>
          </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">
            <outgoing> file://var/mail/outgoing/ </outgoing>
            <!-- <outgoing> db://conf/mail-outgoing.properties </outgoing> -->
            <!-- Number of milliseconds between delivery attempts -->
            <delayTime> 21600000 </delayTime>
            <!-- Number of failed attempts before returning to the sender -->
            <maxRetries> 5 </maxRetries>
            <!-- The number of threads that should be trying to deliver outgoing messages -->
            <deliveryThreads> 1 </deliveryThreads>
            <!-- A single mail server to deliver all outgoing messages.  This is useful if this is a backup or failover machine, or if you otherwise want all messages to be sent only to particular mail server, regardless of the email addresses specified in the message -->
            <!--
            <gateway> otherserver.mydomain.com </gateway>
            -->
            <!-- If your gateway mail server is listening on a port other than 25, you can set James to connect to it on that port -->
            <!--
            <gatewayPort> 25 </gatewayPort>
            -->
          </mailet>
        </processor>

        <!--  Processor CONFIGURATION SAMPLE: spam is where messages detected
        as relaying or other problems will get sent.  You can either log these,
        bounce these, or just ignore them. -->
        <processor name="spam">
          <!-- If you wanted, you could just destroy messages, uncomment this
          matcher/mailet
          <mailet match="All" class="Null">
          </mailet>
          -->

          <!-- If you want to notify the sender their message was marked as
          spam, uncomment this
          <mailet match="All" class="NotifySender">
          </mailet>
          -->

          <!-- If you want to notify the postmaster that a message was marked
          as  spam, uncomment this
          <mailet match="All" class="NotifyPostmaster">
          </mailet>
          -->

          <!-- Out of the box, this will log the message to a repository -->
          <mailet match="All" class="ToRepository">
            <repositoryPath>file://var/mail/spam/</repositoryPath>
          </mailet>
        </processor>
  </spoolmanager>


<!-- CONFIRM? Enter ip address of your DNS server, one per element -->
  <dnsserver>
        <servers>
          <server>206.13.28.12</server>
          <server>216.34.6.183</server>
          <server>206.13.31.12</server>
          <!--<server>192.168.7.254</server>-->
          <!--<server>127.0.0.1</server>-->
          <!--<server> put extra dns server address here </server>-->
        </servers>
        <authoritative>false</authoritative>
  </dnsserver>

  <remotemanager>
        <port>4555</port>
        <!-- <bind>  </bind> uncomment this if you want to bind to a specific
        inetaddress -->
        <!-- <useTLS>TRUE</useTLS> uncomment this if you want to use TLS (SSL)
        on this port -->
        <handler>
          <!-- helloName is the single host name this instance of James will
          use to identify itself  for example, in SMTP and POP3 greetings. If
          autodetect is TRUE, James will attempt to discover its own name OR
          use 'localhost'. If autodetect is FALSE, James will use the value
          given OR 'localhost' -->
          <helloName autodetect="TRUE">myMailServer</helloName>
          <administrator_accounts>

<!-- CHECKME! Change the default password! -->
            <!-- FILL ME!!!!!!  You must provide a password for your
             administrator accounts (cannot be blank) -->
            <account login="root" password="root"/>

           </administrator_accounts>
           <connectiontimeout> 60000 </connectiontimeout>
    </handler>
  </remotemanager>

  <pop3server>
        <port>110</port>
        <!-- <port>995</port> -->
        <!-- port 995 is the well-known/IANA registered port for POP3S
        ie over SSL/TLS -->
        <!-- <bind>  </bind>  uncomment this if you want to bind to a specific
        inetaddress-->
        <!-- <useTLS>TRUE</useTLS> uncomment this if you want to use TLS (SSL)
        on this port -->
        <handler>
          <!-- helloName is the single host name this instance of James will
          use to identify itself  for example, in SMTP and POP3 greetings. If
          autodetect is TRUE, James will attempt to discover its own name OR
          use 'localhost'. If autodetect is FALSE, James will use the value
          given OR 'localhost' -->
          <helloName autodetect="TRUE">myMailServer</helloName>
          <connectiontimeout>120000</connectiontimeout>
        </handler>
  </pop3server>

  <smtpserver>
        <port>25</port>
        <!--<bind></bind> uncomment this if you want to bind to a specific
        inetaddress -->
        <!--<useTLS>TRUE</useTLS> uncomment this if you want to use TLS (SSL)
        on this port -->
        <handler>
          <!-- helloName is the single host name this instance of James will
          use to identify itself  for example, in SMTP and POP3 greetings. If
          autodetect is TRUE, James will attempt to discover its own name OR
          use 'localhost'. If autodetect is FALSE, James will use the value
          given OR 'localhost' -->
          <helloName autodetect="TRUE">myMailServer</helloName>
          <connectiontimeout>360000</connectiontimeout>

      <authRequired>true</authRequired> <!-- uncomment this if you want
          SMTP AUTH support. This is useful if you have users who need to use
          the email server on the road, while not having your server act as an
          open relay! -->

      <verifyIdentity>true</verifyIdentity> <!-- uncomment this if you want
          to verify that the MAIL FROM: address is the same user that
          authenticated. This prevents a user of your mail server from acting
          as somebody else -->

          <!-- This sets the maximum allowed message size for the smtphandler
          in KBytes. The value defaults to 0, which means no limit.  -->
          <maxmessagesize>0</maxmessagesize>

        </handler>
  </smtpserver>

  <nntpserver>
        <port>119</port>
        <!-- <port>563</port> -->
        <!-- port 563 is the well-known/IANA registered port for NNTPS
        ie over SSL/TLS -->
        <!-- <bind>  </bind>  uncomment this if you want to bind to a specific
        inetaddress-->
        <!-- <useTLS>TRUE</useTLS> uncomment this if you want to use TLS (SSL)
        on this port -->
        <handler>
          <!-- helloName is the single host name this instance of James will
          use to identify itself  for example, in SMTP and POP3 greetings. If
          autodetect is TRUE, James will attempt to discover its own name OR
          use 'localhost'. If autodetect is FALSE, James will use the value
          given OR 'localhost' -->
          <helloName autodetect="TRUE">myMailServer</helloName>
          <connectiontimeout>120000</connectiontimeout>
        </handler>
  </nntpserver>

  <nntpauth>
     <!-- make this true, if you want only authenticated users to access NNTP-->
     <authRequired>false</authRequired>
  </nntpauth>

  <nntp-repository>
        <!-- make this true to disallow posting to all newsgroups-->
    <readOnly>false</readOnly>
    <rootPath>file:///var/nntp/groups</rootPath>
    <tempPath>file:///var/nntp/temp</tempPath>
    <articleIDPath>file:///var/nntp/articleid</articleIDPath>
    <articleIDDomainSuffix>news.james.apache.org</articleIDDomainSuffix>
    <!-- these additional news groups would be created and exposed-->
    <newsgroups>
      <newsgroup>org.apache.james.dev</newsgroup>
      <newsgroup>org.apache.james.user</newsgroup>
      <newsgroup>org.apache.avalon.dev</newsgroup>
      <newsgroup>org.apache.avalon.user</newsgroup>
    </newsgroups>
    <spool>
          <configuration>
        <spoolPath>file:///var/nntp/spool</spoolPath>
        <!-- number of threads that process spooler related tasks -->
        <threadCount>1</threadCount>
        <!-- the spool thread(s) should idle for some time,
            if it has nothing to do  -->
        <threadIdleTime>1000</threadIdleTime>
          </configuration>
    </spool>
  </nntp-repository>

  <!-- The High Level Storage block -->
  <mailstore>
      <repositories>
        <repository
            class="org.apache.james.mailrepository.AvalonMailRepository">
          <protocols>
            <protocol>file</protocol>
          </protocols>
          <types>
            <type>MAIL</type>
          </types>
        </repository>
        <repository
            class="org.apache.james.mailrepository.AvalonSpoolRepository">
          <protocols>
            <protocol>file</protocol>
          </protocols>
          <types>
            <type>SPOOL</type>
          </types>
        </repository>

        <!-- These repositories store the entire message in the database -->
        <repository
            class="org.apache.james.mailrepository.JDBCMailRepository">
          <protocols>
            <protocol>db</protocol>
          </protocols>
          <types>
            <type>MAIL</type>
          </types>
          <config>
            <sqlFile>file://conf/sqlResources.xml</sqlFile>
          </config>
        </repository>
        <repository
            class="org.apache.james.mailrepository.JDBCSpoolRepository">
          <protocols>
            <protocol>db</protocol>
          </protocols>
          <types>
            <type>SPOOL</type>
          </types>
          <config>
            <sqlFile>file://conf/sqlResources.xml</sqlFile>
          </config>
        </repository>
        <!-- These repositories store message delivery and headers in the DB, and the body to the filesystem -->
        <repository
            class="org.apache.james.mailrepository.JDBCMailRepository">
          <protocols>
            <protocol>dbfile</protocol>
          </protocols>
          <types>
            <type>MAIL</type>
          </types>
          <config>
            <sqlFile>file://conf/sqlResources.xml</sqlFile>
            <filestore>file://var/dbmail</filestore>
          </config>
        </repository>
        <repository
            class="org.apache.james.mailrepository.JDBCSpoolRepository">
          <protocols>
            <protocol>dbfile</protocol>
          </protocols>
          <types>
            <type>SPOOL</type>
          </types>
          <config>
            <sqlFile>file://conf/sqlResources.xml</sqlFile>
            <filestore>file://var/dbmail</filestore>
          </config>
        </repository>
      </repositories>

      <!-- Spool repository configuration -->
      <!-- The spool repository is a singular location where incoming mails
      are temporarily stored before being processed.
     (ex. file://c:/james/spool/) -->

      <!-- Default setting: file based repository - enter path ( :/// for absolute) -->
      <spoolRepository>
        <repository destinationURL="file://var/mail/spool/"
                    type="SPOOL">
        </repository>
      </spoolRepository>

      <!-- Alternative spool repository definition for JDBC use -->

      <!--      <spoolRepository>
        <repository destinationURL="db://maildb/message/spool"
                    type="SPOOL">
        </repository>
      </spoolRepository>
      -->
  </mailstore>

  <!-- The User Storage block -->
  <users-store>
    <!-- Configure User Repositories here.
         User repositories are required for the following purposes:
            - hold information about Users of the James mail server
            - hold lists of users for the listserv mailet

         Currently, 2 different storage options are available:
            - file-based storage using Java serialisation
            - database-backed storage
         (Use of database or file-system is defined on a "per-repository" basis)

         Note: Two user repositories are required for default configuration:
         LocalUsers - the users for whom you are providing POP3, NNTP, or
                      AUTH service
         list-james - the users of the james@localhost mailiinglist
    -->

      <!-- Default: File-based user repositories
           Use these configurations to store user info in the filesystem  -->

      <!-- The LocalUsers repository, for storing James' User info. -->
      <repository name="LocalUsers"
                  class="org.apache.james.userrepository.UsersFileRepository">
        <destination URL="file://var/users/"/>
      </repository>
      <!-- The list used by the default ListServ mailet -->
      <repository name="list-james"
                  class="org.apache.james.userrepository.UsersFileRepository">
        <destination URL="file://var/lists/list-james/"/>
      </repository>


      <!-- Database backed user repositories
           Use these configurations to store user info in a database.
           Note: the <data-source> element must refer to a connection configured
            in the <database-connections> configuration section. -->

      <!-- The LocalUsers repository, for storing James' User info. -->

      <!--       <repository name="LocalUsers"
                  class="org.apache.james.userrepository.JamesUsersJdbcRepository"
                  destinationURL="db://maildb/users">
          <sqlFile>file://conf/sqlResources.xml</sqlFile>
      </repository>
      -->
      <!-- The list used by the default ListServ mailet -->
      <!--      <repository name="list-james"
                  class="org.apache.james.userrepository.ListUsersJdbcRepository"
                  destinationURL="db://maildb/lists/list-james">
          <sqlFile>file://conf/sqlResources.xml</sqlFile>
      </repository>
      -->

      <!-- An example mailinglist repository, with no "listName" parameter
           specified. Uses the default value from the sql definition file. -->
      <!-- Testing purposes only. -->
      <!--     <repository name="list-test"
                  class="org.apache.james.userrepository.ListUsersJdbcRepository"
                  destinationURL="db://maildb/lists">
          <sqlFile>file://conf/sqlResources.xml</sqlFile>
      </repository>
      -->
      <!-- An example UserRepository for DefaultUser implementations. -->
      <!-- Testing purposes only. -->
      <!--      <repository name="default-users"
                  class="org.apache.james.userrepository.DefaultUsersJdbcRepository"
                  destinationURL="db://maildb/DefaultUsers">
          <sqlFile>file://conf/sqlResources.xml</sqlFile>
      </repository>
      -->
  </users-store>

  <!-- The database-connections block -->
  <database-connections>
    <!-- Confugure database connections here.
         These connections are referred to by name elsewhere in the config file -->
<!-- CHECKME! To allow James to use a database, configure the database connection here -->
    <data-sources>
        <!-- Example, connecting to a MySQL database called "mail" on localhost
        -->
        <!--
        <data-source name="maildb"
                     class="org.apache.james.util.mordred.JdbcDataSource">
            <driver>org.gjt.mm.mysql.Driver</driver>
            <dburl>jdbc:mysql://127.0.0.1/mail</dburl>
            <user>username</user>
            <password>password</password>
            <max>2</max>
        </data-source>
        <data-source name="maildb"
                     class="org.apache.james.util.mordred.JdbcDataSource">
            <driver>com.inet.tds.TdsDriver</driver>
            <dburl>jdbc:inetdae7:127.0.0.1?database=James</dburl>
            <user>sa_james</user>
            <password>blahblah</password>
            <max>2</max>
        </data-source>
        -->
    </data-sources>
  </database-connections>

  <!-- Configuration for Cornerstone Blocks only after here
       NOTHING BELOW THIS SHOULD NEED CHANGING,
       (unless you want secure sockets (TLS)) -->

  <!-- The Storage block -->
  <objectstorage>
      <repositories>
        <repository class="org.apache.avalon.cornerstone.blocks.masterstore.File_Persistent_Object_Repository">
        <protocols>
          <protocol>file</protocol>
        </protocols>
        <types>
          <type>OBJECT</type>
        </types>
        <models>
          <model>SYNCHRONOUS</model>
          <model>ASYNCHRONOUS</model>
          <model>CACHE</model>
        </models>
      </repository>
      <repository class="org.apache.avalon.cornerstone.blocks.masterstore.File_Persistent_Stream_Repository">
        <protocols>
          <protocol>file</protocol>
        </protocols>
        <types>
          <type>STREAM</type>
        </types>
        <models>
          <model>SYNCHRONOUS</model>
          <model>ASYNCHRONOUS</model>
          <model>CACHE</model>
        </models>
      </repository>
    </repositories>
  </objectstorage>

  <!-- The Socket Manager block -->
  <sockets>
      <server-sockets>
        <factory name="plain"
                 class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory" />
        <!--
        <factory name="ssl"
                 class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
          <keystore>
            <file>conf/keystore</file>
            <password>secret</password>
            <type>JKS</type>
            <protocol>TLS</protocol>
            <algorithm>SunX509</algorithm>
            <authenticate-client>false</authenticate-client>
          </keystore>
        </factory>
        -->
      </server-sockets>

      <client-sockets>
        <factory name="plain"
                 class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory" />
      </client-sockets>
  </sockets>

  <thread-manager>
      <thread-group>
        <name>default</name>

        <!-- normal priority == 5, max-priority = 10 -->
        <priority>5</priority>

        <!-- are threads deamon threads ? -->
        <is-daemon>false</is-daemon>

        <max-threads>40</max-threads>
        <!-- these are ignored at the moment but will be fixed in later revisions -->
        <min-threads>20</min-threads>
        <min-spare-threads>20</min-spare-threads>
      </thread-group>
  </thread-manager>

</config>

--
To unsubscribe, e-mail:   <mailto:james-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:james-user-help@;jakarta.apache.org>

Reply via email to