Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2010, 18:44
west140
 
Fecha de Ingreso: mayo-2006
Mensajes: 101
Antigüedad: 18 años
Puntos: 2
Enviar mail en java

Hola que tal estoy tratando de enviar un mail en java solo que tengo algunas dudas, estoy seteando, algunos p[arametros antes pasarlos por la BD, pero aun asi no logro que me lo envie, me sale una excepcion, espero puedan ayudarme.

esta es la excepcion
Código HTML:
[#|2010-07-28T18:26:26.646-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|java.lang.RuntimeException: javax.mail.internet.ParseException|#]

[#|2010-07-28T18:26:26.646-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at Solicitudes.MailTask.run(MailTask.java:84)|#]

[#|2010-07-28T18:26:26.647-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at java.lang.Thread.run(Thread.java:619)|#]

[#|2010-07-28T18:26:26.647-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|Caused by: javax.mail.internet.ParseException|#]

[#|2010-07-28T18:26:26.647-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at javax.mail.internet.ContentType.<init>(ContentType.java:96)|#]

[#|2010-07-28T18:26:26.648-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1291)|#]

[#|2010-07-28T18:26:26.648-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2074)|#]

[#|2010-07-28T18:26:26.648-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2042)|#]

[#|2010-07-28T18:26:26.649-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	at Solicitudes.MailTask.run(MailTask.java:80)|#]

[#|2010-07-28T18:26:26.649-0600|SEVERE|sun-glassfish|null|_ThreadID=87;_ThreadName=Thread-3;|	... 1 more|#]
este es mi metodo

Código HTML:
public void enviarCorreo(){
        System.out.println("Enviar Correo");
        String subject=solicitud.getAsunto_Solicitud();
        String text=solicitud.getDescripcion_Solicitud();                
        listaCorreo=new BD_Solicitudes().consultaCorreoUsuarios(listaCorreo, mail);
        //String mail=""+mail.getEmail();
        for(int i=0; i<listaCorreo.size();i++){
            try{
                MailTask task = new MailTask("[email protected]","mail",null,subject,text,"server");
                new Thread(task).start();
            }catch(AddressException e){
                   e.printStackTrace();
            }
        }
    }
y esta es mi clase

Código HTML:
import EnviarMail.*;
import javax.mail.*;
import java.util.Properties;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class MailTask implements Runnable {
    //smtp.cybermatsa.com.mx
    public static final String SERVER = "[email protected]";

    private InternetAddress from;

    private InternetAddress[] to;

    private String subject;

    private String text;

    private String mailServer;

    public MailTask(String from, String to, String cc, String subject,
                    String text, String mailServer) throws AddressException {
        if (from == null) {
            throw new NullPointerException("from es nulo");
        }
        if (from.length() == 0) {
            throw new IllegalArgumentException("from esta vacio");
        }
        if (to == null) {
            throw new NullPointerException("to es nulo");
        }
        if (to.length() == 0) {
            throw new IllegalArgumentException("to esta vacio");
        }
        if (subject == null) {
            throw new NullPointerException("subject es nulo");
        }
        if (subject.length() == 0) {
            throw new IllegalArgumentException("subject esta vacio");
        }
        if (text == null) {
            throw new NullPointerException("text es nulo");
        }
        if (text.length() == 0) {
            throw new IllegalArgumentException("text esta vacio");
        }
        if (mailServer == null) {
            throw new NullPointerException("mail server es nulo");
        }
        if (mailServer.length() == 0) {
            throw new IllegalArgumentException("mail server esta vacio");
        }
        this.from = new InternetAddress(from);
        if (cc != null) {
            this.to =
                    new InternetAddress[] { new InternetAddress(to), new InternetAddress(cc) };
        } else {
            this.to = new InternetAddress[] { new InternetAddress(to) };
        }
        this.subject = subject;
        this.text = text;
        this.mailServer = mailServer;
    }

    public void run() {
        try {
            Properties props = new Properties();
            props.put("mail.smtp.host", "[email protected]");
            Session session = Session.getInstance(props);
            Message msg = new MimeMessage(session);
            msg.setContent(text, "");
            msg.setFrom(from);
            msg.setRecipients(Message.RecipientType.TO, to);
            msg.setSubject(subject);
            msg.saveChanges();
            Transport.send(msg);
//            LogWriter.getLogger().info("Mensaje enviado...");
        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }

}