Hi all,

Another strange one ;p

In mailstore-....log, I see :
13/12/07 02:35:58 INFO mailstore: JdbcMailRepository 'null, table 'spams': JDBC Mail Attributes support ready. 13/12/07 02:35:58 INFO mailstore: added repository: db://maildb/spams/MAIL->org.apache.james.mailrepository.JDBCMailRepository

But when I send an email I see :
13/12/07 02:35:58 INFO mailstore: added repository: file://var/mail/relay-denied/MAIL->org.apache.james.mailrepository.AvalonMailRepository 13/12/07 02:37:41 INFO mailstore: JdbcMailRepository 'sylvain, table 'inboxes': JDBC Mail Attributes support ready. 13/12/07 02:37:41 INFO mailstore: added repository: db://maildb/inboxes/sylvain/MAIL->org.apache.james.mailrepository.JDBCMailRepository 13/12/07 02:57:38 INFO mailstore: JdbcMailRepository 'sylvain, table 'inboxes': JDBC Mail Attributes support ready. 13/12/07 02:57:38 INFO mailstore: added repository: db://maildb/inboxes/sylvain/MAIL->org.apache.james.mailrepository.JDBCMailRepository 13/12/07 03:07:41 INFO mailstore: JdbcMailRepository 'sylvain, table 'inboxes': JDBC Mail Attributes support ready. 13/12/07 03:07:41 INFO mailstore: added repository: db://maildb/inboxes/sylvain/MAIL->org.apache.james.mailrepository.JDBCMailRepository 13/12/07 03:15:28 ERROR mailstore: Exception caught while storing mail Mail1197533708499-0 java.io.IOException: ERROR: null value in column "repository_name" violates not-null constraint at org.apache.james.mailrepository.JDBCMailRepository.internalStore(JDBCMailRepository.java:667) at org.apache.james.mailrepository.AbstractMailRepository.store(AbstractMailRepository.java:145) at org.apache.james.transport.mailets.ToRepository.service(ToRepository.java:100) at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:451) at org.apache.james.transport.StateAwareProcessorList.service(StateAwareProcessorList.java:167) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:206)
        at java.lang.Thread.run(Thread.java:595)


This looks like there's a configuration problem. The destinationURL is used to determine where to store normal mails (db://maildb/inboxes), and in our spam processor config we have a ToRepository mailet setup like so:
<mailet match="All" class="ToRepository">
  <repositoryPath> db://maildb/spams/ </repositoryPath>
</mailet>

When we send an email, James parses the destinationURL and successfully determines that we want to store the mail in a table (inboxes) with a repository_name of sylvain. But when the mail is spam (which this mail is), it cannot determine the correct repository_name (it thinks it's null as you can see from the first part of mailstore log above).

I've just updated the servers with the latest code, and this didn't happen previously, so it's either a bug in the code, or a problem with my config which I also had to update.

Looking at JDBCMailRepository, I cannot see where it would determine the repository_name when sending an email, but I guess that it adds the spam repository at startup, when it should be adding it dynamically (when a user receives a mail that's spam).

Thanks,
Kev



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to