James Server
  1. James Server
  2. JAMES-853

Server sends Mail without body while using gateway configuration for the RemoteDelivery Mailet

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 2.3.1
    • Fix Version/s: 2.3.1
    • Component/s: Remote Delivery
    • Labels:
      None
    • Environment:
      Linux Fedora java jre 1.6.0_07

      Description

      James throws the following Exception if I use the Gateway configuration for the RemoteDelivery Mailet with spoolrepository as dbfile.
      The Server sends the mails without Body.
      Other configurations e.g. file or db work.

      WARN mailstore: Exception caught while retrieving a stream
      java.io.FileNotFoundException: ...apps/james/var/dbmail/4D61696C313231393234383132383837362D30.Repository.FileStreamStore (No such file or directory)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.<init>(FileInputStream.java:106)
      at java.io.FileInputStream.<init>(FileInputStream.java:66)
      at org.apache.james.mailrepository.filepair.AbstractFileRepository.getInputStream(AbstractFileRepository.java:262)
      at org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository.get(File_Persistent_Stream_Repository.java:51)
      at org.apache.james.mailrepository.MimeMessageJDBCSource.getInputStream(MimeMessageJDBCSource.java:157)
      at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:266)
      at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:250)
      at org.apache.james.core.MimeMessageCopyOnWriteProxy.writeTo(MimeMessageCopyOnWriteProxy.java:184)
      at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:585)
      at org.apache.james.transport.mailets.RemoteDelivery.deliver(RemoteDelivery.java:563)
      at org.apache.james.transport.mailets.RemoteDelivery.run(RemoteDelivery.java:1155)
      at java.lang.Thread.run(Thread.java:619)

        Activity

        Hide
        Stefano Bagnara added a comment -

        dbfile are not expected to work as SpoolRepository.

        Look here:
        http://james.apache.org/server/2.3.1/repositories.html

        ---------------------------
        DBFile Repositories

        This is a special repository type used only for mail repositories. DBFile repositories store the body of a mail message in the file system, while headers are stored in the database. This allows the administrator to minimize the size of data stored in the database, while conserving most of the performance of the database repository.

        Only mail repositories have dbfile-based implementations.
        ----------------------------

        The last line tells that only mail repositories have dbfile based implementation.
        I guess the issue you see is because of this.

        Show
        Stefano Bagnara added a comment - dbfile are not expected to work as SpoolRepository. Look here: http://james.apache.org/server/2.3.1/repositories.html --------------------------- DBFile Repositories This is a special repository type used only for mail repositories. DBFile repositories store the body of a mail message in the file system, while headers are stored in the database. This allows the administrator to minimize the size of data stored in the database, while conserving most of the performance of the database repository. Only mail repositories have dbfile-based implementations. ---------------------------- The last line tells that only mail repositories have dbfile based implementation. I guess the issue you see is because of this.
        Hide
        Stefano Bagnara added a comment -

        Marked as invalid because this is the documented behaviour.

        Show
        Stefano Bagnara added a comment - Marked as invalid because this is the documented behaviour.
        Hide
        Simon Majou added a comment -

        This resolution is strange since :

        1/ The James release 2.3.1 proposes in its config.xml the following :

        <!-- Alternative spool repository definition for JDBC use -->
        <!-- Stores message body in file system, rest in database -->
        <!--
        <spoolrepository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/>
        -->

        It looks like dbfile is ok for spoolrepository ...

        Show
        Simon Majou added a comment - This resolution is strange since : 1/ The James release 2.3.1 proposes in its config.xml the following : <!-- Alternative spool repository definition for JDBC use --> <!-- Stores message body in file system, rest in database --> <!-- <spoolrepository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/> --> It looks like dbfile is ok for spoolrepository ...
        Hide
        Stefano Bagnara added a comment -

        Then it is a documentation bug.... that config.xml comment should be removed.

        Show
        Stefano Bagnara added a comment - Then it is a documentation bug.... that config.xml comment should be removed.

          People

          • Assignee:
            Stefano Bagnara
            Reporter:
            Sandra Grehl
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development