Foros del Web » Programación para mayores de 30 ;) » Java »

Enviar mail en java

Estas en el tema de Enviar mail en java en el foro de Java en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 28/07/2010, 18:44
 
Fecha de Ingreso: mayo-2006
Mensajes: 101
Antigüedad: 17 años, 11 meses
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);
        }
    }

}
  #2 (permalink)  
Antiguo 29/07/2010, 04:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Enviar mail en java

Quizás este ejemplo te sirva:

http://felinfo.blogspot.com/2009/10/...ail-desde.html

Saludos.
__________________
http://felinfo.blogspot.com/
  #3 (permalink)  
Antiguo 29/07/2010, 06:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Enviar mail en java

Esta linea no la he tenido que usar nunca...
Cita:
msg.saveChanges();
y me funciona enviar mensajes sin ella. ¿Has probado sin?

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: enviar, mail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.