JavaMail es una expansin de Java que facilita el envo y recepcin de e-mail desde cdigo java.
JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) as como los distintos tipos de conexin con servidores de correo -TLS, SSL, autentificacin con usuario y password, etc [Segn SantaWikipedia] Qu necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 o superior Una cuenta gmail y otra en hotmail Nivel: Bsico/Intermedio Tiempo: 15 minutos 1. Crea un proyecto en Netbeans (proyecto nombre: JMail ), aade una JFrame (nombre:[Link]), ademas crea dos clases ([Link] y [Link]), la interfaz del proyecto debe tener la siguiente forma:
OJO con los nombres. 2. Agrega las libreras de JavaMail al proyecto. 3. La clase [Link], tiene el siguiente cdigo: package jmail; import [Link]; import [Link]; /** * @web [Link] * @author Mouse */ public class SMTPAuthenticator extends Authenticator{ private String SMTP_AUTH_USER = ""; private String SMTP_AUTH_PWD = ""; public SMTPAuthenticator() {} public SMTPAuthenticator(String user , String pass) { this.SMTP_AUTH_USER = user; this.SMTP_AUTH_PWD = pass; } @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(this.SMTP_AUTH_USER, this.SMTP_AUTH_PWD); } } 4. La clase [Link], encargada del envo del mensaje tiene por cdigo: package jmail; import [Link]; import [Link]; import [Link]; import [Link];
import [Link]; import [Link]; import [Link]; import [Link]; import [Link]; import [Link]; import [Link]; import [Link]; import [Link]; /** * @web [Link] * @author Mouse */ public class JCMail { private String from = "";//tu_correo@[Link] private String password = "";//tu password: 123456 // destinatario1@[Link],destinatario2@[Link], destinatario_n@[Link] private InternetAddress[] addressTo; private String Subject = "";//titulo del mensaje private String MessageMail = "";//contenido del mensaje public JCMail(){} public void SEND() { try { Properties props = new Properties(); [Link]("[Link]", "[Link]"); [Link]("[Link]", "true"); [Link]("[Link]", "true"); [Link]("[Link]", "usuario"); [Link]("[Link]", 25); // SMTPAuthenticator auth = new SMTPAuthenticator( getFrom(), getPassword() ); Session session = [Link](props, auth); [Link](false); //Se crea destino y origen del mensaje MimeMessage mimemessage = new MimeMessage(session); InternetAddress addressFrom = new InternetAddress( getFrom() ); [Link](addressFrom); [Link]([Link], addressTo); [Link]( getSubject() ); // Se crea el contenido del mensaje MimeBodyPart mimebodypart = new MimeBodyPart(); [Link]( getMessage() ); [Link]( getMessage() , "text/html"); Multipart multipart = new MimeMultipart(); [Link](mimebodypart); [Link](multipart); [Link](new Date()); [Link](mimemessage); [Link](null, "Correo enviado. Enjoy!!!"); } catch (MessagingException ex) { [Link](ex); } } //remitente
public void setFrom(String mail){ [Link] = mail; } public String getFrom(){ return [Link]; } //Contrasea public void setPassword(char[] value){ [Link] = new String(value); } public String getPassword(){ return [Link]; } //destinatarios public void setTo(String mails){ String[] tmp =[Link](","); addressTo = new InternetAddress[[Link]]; for (int i = 0; i < [Link]; i++) { try { addressTo[i] = new InternetAddress(tmp[i]); } catch (AddressException ex) { [Link](ex); } } } public InternetAddress[] getTo(){ return [Link]; } //titulo correo public void setSubject(String value){ [Link] = value; } public String getSubject(){ return [Link]; } //contenido del mensaje public void setMessage(String value){ [Link] = value; } public String getMessage(){ return [Link]; } } 5. Para terminar, implementar la clase JCMail en la interfaz. JCMail mail = new JCMail(); private void cmdSENDActionPerformed([Link] evt) { [Link]( [Link]() ); [Link]( [Link]() ); [Link]( [Link]() ); [Link]( [Link]() ); [Link]( [Link]() ); [Link](); } Ejecuta y manda el mensaje, texto plano o etiquetas HTML, tambien para enviar a varios destinatarios, escribe los correos separados por una coma.
Proyecto Netbeans