jueves, 16 de febrero de 2023

JavaMail: es una API Java que facilita el envío y recepción de correo electrónico desde código java a través de protocolos SMTP, POP3 y IMAP. JavaMail está integrado en la plataforma Java EE, pero también proporciona un paquete opcional para su uso en Java SE.

Primero declararemos las variables que usaremos para enviar el correo

Nota: para este pequeño ejemplo usaremos la configuración para conectarnos a un correo de Gmail

String asunto = "Correo de desde Java";

String cuerpo = "Esta es una prueba de correo...";

String destinatario = "testdest@correo.com";

String remitente = "testrem@correo.com";

String claveemail = "123456";

Creo que no se necesita mayor explicación para saber en que usaremos las variables, por lo que pasaremos a los siguiente.



Declararemos un objetos de propiedad es que nos permita colocar las configuraciones necesarias para 

nuestra conexion SMTP.

El servidor SMTP (smtp.gmail.com), establecer el uso de autenticación y el puerto para conectarnos.

Properties props = System.getProperties();

props.put("mail.smtp.host", "smtp.gmail.com");

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

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.port", "587");



Estableceremos la seción con nuestras propiedades:

Session session = Session.getDefaultInstance(props);

session.setDebug(true);



Ahora crearemos las partes del texto y el archivo adjunto dentro de BodyPart

MimeMessage message = new MimeMessage(session);

try {

Creamos el texto de nuestro mensaje

BodyPart texto = new MimeBodyPart();

texto.setText("Texto del mensaje");

            

Agregamos el archivo adjunto

 BodyPart adjunto = new MimeBodyPart();

  adjunto.setDataHandler(new DataHandler(new FileDataSource("/ruta/11.pdf")));

  adjunto.setFileName("11.pdf");

            

   MimeMultipart multiParte = new MimeMultipart();

   multiParte.addBodyPart(texto);

   multiParte.addBodyPart(adjunto);

            

   message.setFrom(new InternetAddress(remitente));

   message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));

Agregamos tanto el texto como el archivo adjunto

    message.setSubject(asunto);

    message.setContent(multiParte);

            

Y para terminar solo enviamos el mensaje con nuestro objeto transport

    Transport transport = session.getTransport("smtp");

    transport.connect("smtp.gmail.com", remitente, claveemail);

    transport.sendMessage(message, message.getAllRecipients());

    transport.close();

}catch(MessagingException ex) {

    System.err.println(ex);

}



Es pequeño el código pero el basico para poder enviar un correo desde java, espero les sea de utilidad.


Next
This is the most recent post.
Previous
Entrada antigua

0 comentarios:

Publicar un comentario