I've had a hell of a time getting just journal to authenticate against the mail server.  This code helped me:
http://fisheye5.cenqua.com/browse/glassfish/mail/src/java/javax/mail/Session.java?r=1.6
Its the actual implementation code for the Session.  
For those out there who want to know how to do this, here's a brief rundown.  
    - Create a properties object.  
 
    - add mail.smtp.host, mail.smtp,user, mail.smtp.auth "true", mail.smtp.port properties with the values you need.  
 
    - Create a Session using Session.getInstance( your properties class, a class instance called ForcedAuthenticator())
 
    - Create a message as normal.  I called saveChanges() although that should be automatic.  
 
    - Make an address array with your to internetaddress in it
 
    - Create a transport instance using session.getTransport("smtp")  where session is your session variable.
 
    - i called transport t..    t.connect(); t.sendMessage(message,a); t.close();    // a is the to address
 
    - catch your exceptions
 
    - ForcedAuthenticator extends Authenticator and you need a method called getPasswordAuthentication()  which returns a new object using the username/password.
 
I will put this in cvs too.  I read something about managing the sessions if you don't use getDefaulInstance() but i can't find an example.