Why does Ristretto or other similar mail client puke when sending mail to JBMS 1.0M3?
JBMS 1.0M3 has a minor spec violation for the now obsolete "HELO" command (replaced by EHLO). When HELO is issued JBMS also sends the available authentication methods allowed which is only allowed in response to ELHO. Most mail clients do not use HELO in favor of ELHO (for like the last decade) but some still issue HELO.
So um...how do I fix it?
Save this class file. Copy it to mail.ear/mail.sar/org/jboss/mail/smtp/handlers/CmdHELO.class, overwriting the old version. Then touch mail.ear/META-INF/application.xml (either with the unix "touch" command or by opening it in an editor, adding and removing a space and resaving). This will cause JBMS to restart without restarting the whole underlying JBAS instance.
An earlier version of this patch caused problems with QMail (particularly mail.apache.org aka minotaur). The present version (now attached in its place) fixes this and does not print out the annoying debug message to stderr.