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]