Socorro!!!mandar mail desde java
Publicado por raquelvsio (3 intervenciones) el 13/03/2010 18:04:49
Estoy realizando una aplicación y al dar de alta un usuario quero mandar un correo electrónico. El método que envia el correo electrónico es
public static void sendMail(String textoMensaje,String direccionDes,String asunto) throws MessagingException{
Properties props = new Properties();
// Aqui usuario y password de gmail
String cuentaCorreo = "[email protected]"; // Introduce una cuenta de correo valida
String passwCorreo = "pass"; // Introduce el password de la cuenta
String serverSMTP = "smtp.gmail.com"; // Introduce el servidor smtp de la cuenta
// Nombre del host de correo, es smtp.gmail.com
props.setProperty("mail.smtp.host", serverSMTP);
// TLS si está disponible
props.setProperty("mail.smtp.starttls.enable", "true");
// Puerto de gmail para envio de correos
props.setProperty("mail.smtp.port","587");
// Nombre del usuario
props.setProperty("mail.smtp.user","");
// Si requiere o no usuario y password para conectarse.
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
// Para obtener un log de salida más extenso
session.setDebug(true);
//Construir un mensaje de texto sencillo
MimeMessage message = new MimeMessage(session);
// Quien envia el correo
message.setFrom(new InternetAddress(cuentaCorreo));
// A quien va dirigido
message.addRecipient(Message.RecipientType.TO, new InternetAddress(direccionDes));
message.setSubject(asunto);
message.setText(textoMensaje);
Transport t = session.getTransport("smtps");
// Enviamos el correo
t.connect(cuentaCorreo,passwCorreo);
t.sendMessage(message,message.getAllRecipients());
t.close();
}
Para enviar el correo de origen quiero usar una cuenta de gmail.
Al intentar enviar el correo me arroja el siguiente error
DEBUG: setDebug: JavaMail version 1.4.2
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc]
java.lang.reflect.InvocationTargetException
Que me falta, tengo que instalar algo. Tengo las siguientes librerías en el proyecto ya que no sabía que librería necesitaba: mail-1.4.2-sources.jar
mail-impl.jar
mailapi.jar
Pueden ayudarme. No consigo encontrar el error. Tengo que crear algo en el servidor para enviar correos?Se necesita algo más que las librerías y el método?
Muchas gracias
public static void sendMail(String textoMensaje,String direccionDes,String asunto) throws MessagingException{
Properties props = new Properties();
// Aqui usuario y password de gmail
String cuentaCorreo = "[email protected]"; // Introduce una cuenta de correo valida
String passwCorreo = "pass"; // Introduce el password de la cuenta
String serverSMTP = "smtp.gmail.com"; // Introduce el servidor smtp de la cuenta
// Nombre del host de correo, es smtp.gmail.com
props.setProperty("mail.smtp.host", serverSMTP);
// TLS si está disponible
props.setProperty("mail.smtp.starttls.enable", "true");
// Puerto de gmail para envio de correos
props.setProperty("mail.smtp.port","587");
// Nombre del usuario
props.setProperty("mail.smtp.user","");
// Si requiere o no usuario y password para conectarse.
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
// Para obtener un log de salida más extenso
session.setDebug(true);
//Construir un mensaje de texto sencillo
MimeMessage message = new MimeMessage(session);
// Quien envia el correo
message.setFrom(new InternetAddress(cuentaCorreo));
// A quien va dirigido
message.addRecipient(Message.RecipientType.TO, new InternetAddress(direccionDes));
message.setSubject(asunto);
message.setText(textoMensaje);
Transport t = session.getTransport("smtps");
// Enviamos el correo
t.connect(cuentaCorreo,passwCorreo);
t.sendMessage(message,message.getAllRecipients());
t.close();
}
Para enviar el correo de origen quiero usar una cuenta de gmail.
Al intentar enviar el correo me arroja el siguiente error
DEBUG: setDebug: JavaMail version 1.4.2
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc]
java.lang.reflect.InvocationTargetException
Que me falta, tengo que instalar algo. Tengo las siguientes librerías en el proyecto ya que no sabía que librería necesitaba: mail-1.4.2-sources.jar
mail-impl.jar
mailapi.jar
Pueden ayudarme. No consigo encontrar el error. Tengo que crear algo en el servidor para enviar correos?Se necesita algo más que las librerías y el método?
Muchas gracias
Valora esta pregunta
0