Leftover Debug message in SMTP Transport

View: New views
2 Messages — Rating Filter:   Alert me  

Leftover Debug message in SMTP Transport

by Raimund Jacob :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi!

I see this message in my System.out (or System.err) frequently (with
JavaMail 1.4.1):

DEBUG SMTP: QUIT failed with 421

The reason being a long-open SMTP connection that is .close()d after it
timed out. (I keep SMTP connections open for a while and the SMTP server
is configured to abonden it earlier. I call close() after my timeout)
Reproducable with exim and qmail servers.

I suggest fixing the close() method in
mail/src/java/com/sun/mail/smtp/SMTPTransport.java either by checking
for code 421, too or by out.println()ing only in the "if (debug)" case
(as with all other output).

Thanks,
        Raimund

ps: The answer to the XXX in

    /**
     * Terminate the sent data.
     */
    private void finishData() throws MessagingException {
        issueSendCommand("\r\n.", 250); // XXX - adds blank line to message?
    }

is "no" :)

pps: and while you are at it: SMTP Pipelining would be really, really
cool. kthnx. :)

--
Pinuts media+science GmbH                 http://www.pinuts.de
Dipl. Inform. Raimund Jacob               Raimund.Jacob@...
Charlottenstr. 18                         voice : +49 30 59 00 90 322
10117 Berlin                              fax   : +49 30 59 00 90 390
Germany

===========================================================================
To unsubscribe, send email to listserv@... and include in the body
of the message "signoff JAVAMAIL-INTEREST".  For general help, send email to
listserv@... and include in the body of the message "help".

Re: Leftover Debug message in SMTP Transport

by Bill Shannon :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Raimund Jacob wrote:

> Hi!
>
> I see this message in my System.out (or System.err) frequently (with
> JavaMail 1.4.1):
>
> DEBUG SMTP: QUIT failed with 421
>
> The reason being a long-open SMTP connection that is .close()d after it
> timed out. (I keep SMTP connections open for a while and the SMTP server
> is configured to abonden it earlier. I call close() after my timeout)
> Reproducable with exim and qmail servers.
>
> I suggest fixing the close() method in
> mail/src/java/com/sun/mail/smtp/SMTPTransport.java either by checking
> for code 421, too or by out.println()ing only in the "if (debug)" case
> (as with all other output).

Yup, you're right, "&& debug" was missing from the if statement.
Thanks for letting me know!

> Thanks,
> Raimund
>
> ps: The answer to the XXX in
>
>     /**
>      * Terminate the sent data.
>      */
>     private void finishData() throws MessagingException {
>         issueSendCommand("\r\n.", 250); // XXX - adds blank line to message?
>     }
>
> is "no" :)

Ya, that's been fixed in the latest version.

> pps: and while you are at it: SMTP Pipelining would be really, really
> cool. kthnx. :)

It's on my list to consider, but pretty low.  Handling errors in the
pipelining case is more difficult, and structuring the code to work
in both the pipelining and non-pipelining cases is tricky.

===========================================================================
To unsubscribe, send email to listserv@... and include in the body
of the message "signoff JAVAMAIL-INTEREST".  For general help, send email to
listserv@... and include in the body of the message "help".
LightInTheBox - Buy quality products at wholesale price