JavaMail no Websphere

Estou tentando enviar email usando uma Session Javamail GMail pelo Websphere, mas minha autenticação sempre falha.

Estou configurando minha sessão como:

Nas propriedades da sessao, tenho:

Estou usando um JSP para testes assim …

...
System.out.println("Entering MailJsp!");

String errorMessage = null;
String destinationAddress = request.getParameter("destinationAddress");
String messageBody = request.getParameter("message");
String subject = "Mail from MailServlet";
String emailFrom = "myuser@gmail.com"; 

// try only if it is not the first request
if (destinationAddress != null) {

    System.out.println("Sending email");
    try 
    {
        // look up MailSession
        Context context = new InitialContext();
        Session mailSession =  (Session)context.lookup("mail/session/Default");

        System.out.println("Mail Session Properties: " + mailSession.getProperties());
        Message msg = new MimeMessage(mailSession);
        msg.setFrom(new InternetAddress(emailFrom));
        msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(destinationAddress));

        // Set the subject and body text
        msg.setSubject(subject);
        msg.setText(messageBody);

        // send message
        Transport.send(msg);
        System.out.println("Email Sent");
    }
    catch (Exception e) 
    {
        System.out.println("Error sending Email: " + e);
        e.printStackTrace();
        errorMessage = e.getMessage() != null ? e.getMessage() : e.toString();
    }
}
System.out.println("Exiting MailJsp");
...

O meu log de resposta é:

Se escrevo o código de outra forma, especificando um Authenticator, tudo funciona:

...
Session mailSession =  (Session)context.lookup("mail/session/Default");
Properties props = mailSession.getProperties();

mailSession = Session.getDefaultInstance(
    props,
    new javax.mail.Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("myuser@gmail.com","mypassword");
        }
    });
...

Mas eu quero usar a senha atribuida no Administrative Console, de forma que o usuário possa gerenciar suas senhas sem interferência do meu produto.

Acredito que por motivos de segurança eu não teria acesso a essa senha (ou teria?). Acredito também que o Websphere (leia-se JavaMail) deveria prover uma Session já com o Authenticator correto, o que não está funcionando.

O que posso fazer para obter essa autenticação de forma a usar a senha fornecida no Administrative Console ao criar a Session Javamail ?

tks

Opá meu amigo, Tudo bom?

Cara o javaMail deve funcionar independentemente do servidor de aplicações que você esta usando, eu vi que vc está criando um properties para colocar as configurações.
uma coisa que acho interessante os dados de autenticação deveria ficar junto.

To disponibilizado um projetinho que tem o envio de e-mail autenticado e envio de sms o cadastro é feito no site sitado no codigo na classe.

esse é o link para download http://www.sendspace.com/file/d89e0a

Seu link foi barrado pelo meu firewall.

O código que está aí é mais uma referência do que quero fazer e que está falhando.

A idéia não é fazer funcionar, isso eu já consegui fornecendo um Authenticator com usuário e senha.

A idéia é conseguir fazer de forma “correta”, que seria … o administrador websphere configura a Sessão no Admin Console, fornecendo dados de autenticação. Dessa forma haveria uma Sessão de email disponível para aplicações quaisquer.

Dessa forma, minha aplicação faria lookup pelo JNDI da Sessão Javamail e enviaria email sem precisar saber a senha do usuário (dado sigiloso).

Aparentemente a interface do Admin Console permite o cadastro da sessão, usuário e senha. Porém ao tentar enviar a mensagem através da Sessão, obtida por lookup do JNDI, obtenho exceção de autenticação.

Isso parece ser tão simples, porém não encontro referências na Web. Devo estar fazendo algo muito errado, talvez até conceitualmente.

Abraço,