Well, let's check LocalDelivery: public void service(Mail mail) throws MessagingException { Collection recipients = mail.getRecipients(); Collection errors = new Vector(); for (Iterator i = recipients.iterator(); i.hasNext(); ) { MailAddress recipient = (MailAddress) i.next(); try { getMailetContext().storeMail(mail.getSender(), recipient, mail.getMessage()); } catch (Exception ex) { getMailetContext().log("Error while storing mail.", ex); errors.add(recipient); } }
if (!errors.isEmpty()) { // If there were errors, we redirect the email to the ERROR processor. // In order for this server to meet the requirements of the SMTP specification, // mails on the ERROR processor must be returned to the sender. Note that this // email doesn't include any details regarding the details of the failure(s). // In the future we may wish to address this. getMailetContext().sendMail(mail.getSender(), errors, mail.getMessage(), Mail.ERROR); } So in the event of an exception from the JDBC layer, we SHOULD be logging the exception and posting the mail to the error processor, so you should find the e-mails in your error repository. Of course, if the spooler is also using JDBC, then we can't do that (but nor would we be able to receive new e-mails), nor can we store it in the error repository if THAT store uses JDBC. So ... how are your stores configured, and what do you see in the logs? As for the rejection notice, check the comment (above). It is your responsibility to properly configure the error processor. We will probably enhance this area for v3. By the way, must you use MSSQL? I hear nothing (absolutely nothing) good about the JDBC drivers for MSSQL. I can tell you that in my own testing with MySQL, I have pumped millions of messages. My last stress test ran 40 hours and roughly 4 million messages. Success breeds trust. --- Noel -----Original Message----- From: Alan Gerhard [mailto:[EMAIL PROTECTED]] Sent: Wednesday, December 04, 2002 23:00 To: 'James Developers List' Subject: SQL DOWN; MAIL LOST? James 2.0a3 - recompiled and running setup MSSQL for mail boxes all is working more or less okay. SQL crashed - 6 hours later James' JVM died. Hmm .... was anything lost ?? tested : stopped SQL sendmailserverONE sent msg to James; received an OK from James hm.... where did it go ?? started SQL and a reset of James was necessary. it appears that the spool we lost or that the mail was processed positively but it wasn't able to deliver to the pop3 mailbox. is this a James issue or my inability to properly configure the necessary mailets? this is what i have - <!-- 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> but we kill this shit ... --> <mailet match="HostIsLocal" class="Null"> </mailet and by looking at it i see the error of my ways.. in any case, the question is : if the local recipient is not available because the mailbox is down, shouldn't we sent back a rejection ?? or is that me again with the inability to properly set this puppy up ?? :-> thanks, alan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>