Outra sobre javax.mail

Pessoal, já pesquisei no fórum. :puppydogeyes:
Por que eu estava com o problema do “can’t relay to xxx@yyyy.com.br”… resolvi implementando uma extensão de Athenticator.

Agora vem o (me parece) “famoso” javax.mail.NoSuchProviderException: smtp. Eu estou confuso e não estou conseguindo resolver.

Eis o trecho de código que estou usando:

[code]//…
Properties mailProp = new Properties();
mailProp.put("mail.host", "smtp.base4.com.br");
mailProp.put("mail.transport.protocol", "smtp");

Session mailSession = Session.getInstance(p, new SMTPAuthenticator());
MimeMessage msg = new MimeMessage(mailSession);

try {
msg.setFrom(new InternetAddress("daniel@base4.com.br"));
msg.setRecipient(Message.RecipientType.TO,
new InternetAddress(mailToAddr));

msg.setSentDate(new Date());
msg.setSubject("Resultados…");
msg.setText(textoResultado, "iso-8859-1");

Transport.send(msg);
}
catch (AddressException addrex) {}
catch (MessagingException msgex) {}
// …[/code]

E o Authenticator:

[code]class SMTPAuthenticator extends Authenticator {

private PasswordAuthentication __pwdauth;

public SMTPAuthenticator() {
__pwdauth = new PasswordAuthentication(
"<user-name>", "<password>" );
}

protected PasswordAuthentication getPasswordAuthentication() {
return __pwdauth;
}
}
[/code]

(eu pesquisei sobre esse NoSuchProviderException… me parece que tem uns arquivos dentro mail.jar… mas eu estou totalmente confuso, e se alguém já passou o “apuro”, por favor me indique “o caminho das pedras”)

Obrigado.

Tente colocar

java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

Antes de enviar a msg.