problema envio archivos adjuntos con javamail

tema enviado por yeyocp en JSP
tema iniciado el 11/12/2006

Hola. Tengo implementada una jsp de ejemplo a través de la cual intento enviar un mail con un archivo adjunto y una url. Tengo hechas otras jsp en las que envío simplemente texto o HTML y funcionan bien. Pero con esta en primer lugar me aparece un error indicando:

Error de servlet generado:
The type PasswordAuthentication is ambiguous

Si vuelvo a intentarlo el correo sale correctamente. Lo correos los mando desde una cuenta de Yahoo, pero curiosamente, ponga la dirección de destino que ponga todos llegan a la propia cuenta de Yahoo y no a la de Hotmail, por ejemplo. Si quito la cabecera java.net.* y no adjunto la URL también funciona correctamente.

El código es el siguiente:

<%@ page import="java.util.*,javax.mail.*,javax.mail.internet.*,javax.activation.*,java.net.*" %>

<%
    class SMTPAuthentication extends javax.mail.Authenticator
    {
 public PasswordAuthentication getPasswordAuthentication()
        {
     String username = "nombre de usuario";
       String password = "password";

            return new PasswordAuthentication(username, password);
        }
    }

    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.correo.yahoo.es");
    props.put("mail.smtp.auth", "true");

    SMTPAuthentication auth = new SMTPAuthentication();

    Session s = Session.getInstance(props, auth);

    MimeMessage message = new MimeMessage(s);

    InternetAddress from = new InternetAddress("direccion de yahoo");
    message.setFrom(from);

    InternetAddress to = new InternetAddress("direccion de destino");
    message.addRecipient(Message.RecipientType.TO, to);

    message.setSubject("Probando DataHandlers.");

    MimeMultipart mm = new MimeMultipart();
    MimeBodyPart mbp = new MimeBodyPart();

    DataHandler dh = new DataHandler("Probando un DataHanler", "text/plain");

    mbp.setFileName("mensaje.txt");
    mbp.setDataHandler(dh);
    mm.addBodyPart(mbp);

    mbp = new MimeBodyPart();
    URLDataSource uds = new URLDataSource(new URL("una URL"));

    dh = new DataHandler(uds);
    mbp.setDataHandler(dh);
    mbp.setFileName("url.txt");
    mm.addBodyPart(mbp);

    mbp = new MimeBodyPart();
    FileDataSource fds = new FileDataSource("C:/apache-tomcat-5.5.20/webapps/begjsp-ch17/test.txt");
    dh = new DataHandler(fds);
    mbp.setDataHandler(dh);
    mbp.setFileName("test.txt");
    mm.addBodyPart(mbp);

    message.setContent(mm);

    // Las siguientes dos líneas son específicas de Yahoo
    Store store = s.getStore("pop3");
    store.connect("pop.correo.yahoo.es", "usuario_yahoo", "password");

    Transport.send(message);

    // La siguiente línea es específica de Yahoo
    store.close();
%>