En una aplicación web profesional se suele usar el envío automático de email como un medio más para comunicar con el usuario. Por ejemplo, cuando se registra a un usuario, antes de que se guarde en la base de datos, la cuenta debe ser activada personalmente por este usuario, normalmente, entrando a un link que se le envía a su correo electrónico. Para el envío de JavaMails se puede usar tanto el servidor de correo donde está alojada la aplicación web, como cualquier proveedor de correo, como gmail. Aquí está el código necesario para enviar un email con una cuenta de gmail desde una aplicación Java:
//Envio del email para activar cuenta int enviadoEmail; // enter here the smtp mail server address // ask your ISP to get the proper name String mailServer ="smtp.gmail.com"; String username="carmaoone5@gmail.com"; String password="123aod12"; String fromEmail = "carmaoone5@gmail.com"; String toEmail = usuario.getEmail(); String messageEnter = "Hola "+usuario.getNombre()+", te has registrado en la web, pero para terminar el proceso tienes que activar tu cuenta pinchando en <a href='http://localhost:8080/Ejercicio_2.8._-_Catalogo/validacion.jsp?id="+idInsertado+"'>este enlace.</a>"; if (toEmail.equals("")) { toEmail = "unknown"; } Properties props = new Properties(); props.put("mail.smtps.host", mailServer); props.put("mail.smtp.auth", "true"); props.put("mail.smtps.port", "465"); props.put("mail.smtps.STARTTLS.enable", true); Session o = Session.getInstance(props, null); MimeMessage message = new MimeMessage(o); InternetAddress from = new InternetAddress(fromEmail); message.setFrom(from); InternetAddress to = new InternetAddress(toEmail); message.addRecipient(Message.RecipientType.TO, to); message.setSubject("Validación de registro"); message.setText(messageEnter); message.setContent(messageEnter, "text/html"); Transport tr = o.getTransport("smtps"); tr.connect(mailServer, username, password); message.saveChanges(); // don't forget this tr.sendMessage(message, message.getAllRecipients()); tr.close(); if (status == true) { enviadoEmail=1; }
En rojo se muestra las variables que corresponden a la cuenta de gmail que va a enviar el email. En naranja aparece a quién va destinado el email (toEmail) y de quién es (fromEmail), además del mensaje que se envía. En verde aparece el código necesario para enviar el correo.
No hay comentarios:
Publicar un comentario