OK. Several have read, nobody has answered. I'm not complaining, nobody felt they had an answer.
So I've been digging in the bowels of jboss source to try to understand. What I'm finding is that jboss is possibly not defined at all. Since javax.mail.Transport is an abstract class, I was just assuming that JBoss defined a concrete implementation that was somehow linked in. But that doesn't appear to be the case at all. There does not appear to be any class in JBoss that inherits from Transport. Instead, the JBoss mechanism appears to be a way to create a service that somehow interacts with the Transport layer without defining a concrete implementation.
So then, how does it work at all?
Let me ask a simpler question, even outside of the JBoss realm:
Transport.send() is a static wrapper around the real implementation. If you've done nothing to define a concretel implementation, what concrete implementation is Transport.send() calling? Sun's javadocs are completely mum about this.
oops, I mean to say "What I'm finding is that jboss is possibly not involved at all".
JBOSS_HOME/server/default/lib/mail.jar and mail-plugin.jar is the Sun provided
You will never get any answers to your questions if you just post words (your assertions about what you *think* is happening).
You will be ignored unless you post code/config/exceptions/logging (we need to see what
is really happening).
Your problem with not seeing the exceptions being caught is clearly not a JBoss issue.
It is either:
1) A serious bug with your java compiler/jvm (very unlikely) - better targeted at your jdk provider
2) You are running code that is NOT compiled from the source you are looking at
3) You are not catching that exception you think you are
4) It is not being thrown from the location where you think it is thrown from
This whole question is better targetted at a beginners java forum rather than
the JBoss forums. Then you wonder why you are ignored here?