Jueves, 02 de julio de 2015

Ejemplo de como enviar correos.

Para comenzar deberas obtener la libreria javax.mail de la siguiente dirección.

LINK


1.- Correo simple.

public boolean enviarCorreoSunoke(String nombre, String correo) {

 

        String user = "[email protected]"; //Correo de quien envia.

        String password = "ContraseñaCorreo"; //Contraseña del correo

        String Subject = "Asunto de mi correo"; //Asunto del correo

 

        Properties props = new Properties(); //Properties el que almacenara los datos

        props.put("mail.smtp.host", "mail.correo.org"); //Dirección del smtp del correo que enviaras

        props.put("mail.transport.protocol", "smtp");

        props.put("mail.smtp.auth", "true");

        props.setProperty("mail.user", user); //El correo donde partira el correo

        props.setProperty("mail.password", password); //La contraseña del correo

 

        try {

            Session mailSession = Session.getInstance(props, //Sesión para generar contacto con el servidor

                    new javax.mail.Authenticator() {

                        @Override

                        protected javax.mail.PasswordAuthentication

                        getPasswordAuthentication() {

                            return new javax.mail.PasswordAuthentication(user,

                                    password);

                        }

                    });

            Transport transport = mailSession.getTransport();

            MimeMessage message = new MimeMessage(mailSession);

            message.setSubject(Subject);

            message.setFrom(new InternetAddress(user, "Nombre del correo/o persona quien lo envia"));

 

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(correo, nombre)); //Añades el correo y el nombre a quien se le enviara

// put everything together

            DataHandler dh = new DataHandler("Cuerpo del correo", "text/plain");

            message.setDataHandler(dh);

            transport.connect(user, password);

            Transport.send(message);

            transport.close();

            return true;

        } catch (MessagingException | UnsupportedEncodingException e) {

            System.err.println("Error --> " + e.getMessage());

            return false;

        }

 

    }


Puedes obtener el nombre y correo de un jTextField y el cuerpo lo puedes generar mediante un jTextArea, al enviar lo puedes realizar llamando el metodo desde un jButton.


2.- Correo personalizado con HTML.


public boolean enviarCorreoSunoke(String nombre, String correo) {

String Mensaje = "”Aquí añades una pequeña página web, no debes de llamar js, css estos deben de estar en el mismo cuerpo de la página”;

        String user = "[email protected]"; //Correo de quien envia.

        String password = "ContraseñaCorreo"; //Contraseña del correo

        String Subject = "Asunto de mi correo"; //Asunto del correo

 

        Properties props = new Properties(); //Properties el que almacenara los datos

        props.put("mail.smtp.host", "mail.correo.org"); //Dirección del smtp del correo que enviaras

        props.put("mail.transport.protocol", "smtp");

        props.put("mail.smtp.auth", "true");

        props.setProperty("mail.user", user); //El correo donde partira el correo

        props.setProperty("mail.password", password); //La contraseña del correo

 

        try {

            Session mailSession = Session.getInstance(props, //Sesión para generar contacto con el servidor

                    new javax.mail.Authenticator() {

                        @Override

                        protected javax.mail.PasswordAuthentication

                        getPasswordAuthentication() {

                            return new javax.mail.PasswordAuthentication(user,

                                    password);

                        }

                    });

            Transport transport = mailSession.getTransport();

            MimeMessage message = new MimeMessage(mailSession);

            message.setSubject(Subject);

            message.setFrom(new InternetAddress(user, "Nombre del correo/o persona quien lo envia"));

 

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(correo, nombre)); //Añades el correo y el nombre a quien se le enviara

// put everything together

            DataHandler dh = new DataHandler(Mensaje, "text/html");

            message.setDataHandler(dh);

            transport.connect(user, password);

            Transport.send(message);

            transport.close();

            return true;

        } catch (MessagingException | UnsupportedEncodingException e) {

            System.err.println("Error --> " + e.getMessage());

            return false;

        }

 

    }


Aqui solo cambian la siguiente linea:

De

DataHandler dh = new DataHandler(Mensaje, "text/plain");

A:

DataHandler dh = new DataHandler(Mensaje, "text/html");


Tu Mensaje lo puedes generar con alguna herramienta como el mismo Netbeans o Sublime Text para crearlo.
Nota: Para agregar estilo a tu mensaje tipo HTML, debes de poner el estilo en la misma pagina, ya que los servidores de correos solo permiten diseño en el mismo cuerpo del mensaje.



3.- Enviar con archivo adjunto.

Puedes utilizar cualquiera de los anteriores ejemplos y solamente añadir la siguiente linea:

message.setDataHandler(new DataHandler(new FileDataSource("Dirección del archivo"))); //Dirección del archivo es donde se encuentra el archivo a enviar.

message.setFileName(new File("Dirección del archivo).getName()); //Obligatorio ya que sin este el mensaje llega como un archivo de datos (.dat) y no se podra ver.



Para dudas o aclaraciones se pueden comunicar conmigo Daniel de Jesús Marin Ruvalcaba al correo [email protected]


Publicado por danielmarinr @ 12:44  | Java SE8
Comentarios (0)  | Enviar
Comentarios