domingo, 25 de octubre de 2009

Enviar un correo usando Gmail desde Java



correo2.jpg


Preparando el entorno.


Para ello deberemos descargar la librería JavaMail desde http://java.sun.com/products/javamail/. Luego la incluiremos en nuestro proyecto. Si usamos Eclipse, lo haremos así: botón derecho sobre el proyecto, Properties, Java Build Path, Add Externals JARs.




El código


Aquí se muestra el código. Simplemente tendremos que cambiar las propiedades miCorreo y miContraseña por la dirección y contraseña de nuestra cuenta Gmail. En el método main, pondremos la dirección a la que lo queremos mandar, el asunto y el cuerpo respectivamente.




import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class EnviadorMail {
final String miCorreo = "micorreo@gmail.com";
final String miContraseña = "*****";
final String servidorSMTP = "smtp.gmail.com";
final String puertoEnvio = "465";
String mailReceptor = null;
String asunto = null;
String cuerpo = null;

public EnviadorMail(String mailReceptor, String asunto,
String cuerpo) {
this.mailReceptor = mailReceptor;
this.asunto = asunto;
this.cuerpo = cuerpo;

Properties props = new Properties();
props.put("mail.smtp.user", miCorreo);
props.put("mail.smtp.host", servidorSMTP);
props.put("mail.smtp.port", puertoEnvio);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", puertoEnvio);
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");

SecurityManager security = System.getSecurityManager();

try {
Authenticator auth = new autentificadorSMTP();
Session session = Session.getInstance(props, auth);
// session.setDebug(true);

MimeMessage msg = new MimeMessage(session);
msg.setText(cuerpo);
msg.setSubject(asunto);
msg.setFrom(new InternetAddress(miCorreo));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
mailReceptor));
Transport.send(msg);
} catch (Exception mex) {
mex.printStackTrace();
}

}

private class autentificadorSMTP extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(miCorreo, miContraseña);
}
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EnviadorMail EnviadorMail = new EnviadorMail("dire@dire",
"Este es el asunto de mi correo", "Este es el cuerpo de mi correo");
}

}




Fuentes:


http://puretechie.blogspot.com/2008/09/sending-email-using-gmail-using-java.html




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO