Greetings,
For a couple of months, we've had an internal host unable to send a message to
our JAMES server. Each time it reports an "Error in input stream" and
ultimately generates an NDR back to the sender that the time limit to send was
exceeded.
The mailflow looks like this:
Application -> Internal SMTP relay -> JAMES relay -> Microsoft Exchange mailbox
Any ideas as to what would cause a this error in input stream and subsequent
connection reset?
Regards,
Trevor
Debug data from latest log that the message failed in.
06/12/2009 14:01:57 ERROR smtpserver: Unknown error occurred while processing
DATA.
javax.mail.MessagingException: Error in input stream;
nested exception is:
java.net.SocketException: Connection reset
at javax.mail.internet.InternetHeaders.load(InternetHeaders.java:352)
at org.apache.james.core.MailHeaders.<init>(MailHeaders.java:61)
at
org.apache.james.smtpserver.DataCmdHandler.doDATA(DataCmdHandler.java:131)
at
org.apache.james.smtpserver.DataCmdHandler.onCommand(DataCmdHandler.java:81)
at
org.apache.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:393)
at
org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:432)
at
org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
at
org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at
org.apache.james.util.CharTerminatedInputStream.read(CharTerminatedInputStream.java:100)
at
org.apache.james.util.watchdog.BytesReadResetInputStream.read(BytesReadResetInputStream.java:98)
at
org.apache.james.smtpserver.SizeLimitedInputStream.read(SizeLimitedInputStream.java:82)
at
org.apache.james.util.DotStuffingInputStream.read(DotStuffingInputStream.java:50)
at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:75)
at javax.mail.internet.InternetHeaders.load(InternetHeaders.java:329)
... 7 more
06/12/2009 14:01:57 DEBUG smtpserver: Sent: 451 4.0.0 Error processing message:
Error in input stream
06/12/2009 14:01:57 DEBUG smtpserver: Calling reset() default Worker #13
06/12/2009 14:01:57 ERROR smtpserver: Socket to PHXSMTP.--------.COM
(###.###.###.###) closed remotely.
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at
org.apache.james.util.CRLFTerminatedReader.read(CRLFTerminatedReader.java:153)
at
org.apache.james.util.CRLFTerminatedReader.readLine(CRLFTerminatedReader.java:113)
at
org.apache.james.smtpserver.SMTPHandler.readCommandLine(SMTPHandler.java:751)
at
org.apache.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:372)
at
org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:432)
at
org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:55)
at
org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:116)
06/12/2009 14:01:57 DEBUG smtpserver: Calling disposeWatchdog() default Worker
#13
</PRE><p style="font-family:arial;color:grey" style="font-size:13px">This
message contains information that may be privileged or confidential and is the
property of the Capgemini Group. It is intended only for the person to whom it
is addressed. If you are not the intended recipient, you are not authorized to
read, print, retain, copy, disseminate, distribute, or use this message or any
part thereof. If you receive this message in error, please notify the sender
immediately and delete all copies of this message.</p><PRE>