En esta entrada mostrare la forma de mandar un correo electronico usando una cuenta de gmail y utilizando la libreria JavaMail, utilizare interfaces e implementaciones:
Antes que nada, se deben descargar el API
La interfaz:
public interface MailServices {
public void enviar(String mailReceptor, String asunto, String cuerpo) throws ScaseMailException;
}
La implementación:
public class MailServicesImpl implements MailServices {
final String miCorreo = "cuenta@gmail.com";
final String miContraseña = "xxxxxxxx";
final String servidorSMTP = "smtp.gmail.com";
final String puertoEnvio = "465";
String mailReceptor = null;
String asunto = null;
String cuerpo = null;
@Override
public void enviar(String mailReceptor, String asunto, String cuerpo) throws ScaseMailException {
try {
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");
Authenticator auth = new autentificadorSMTP();
Session session = Session.getInstance(props, auth);
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 e) {
throw new ScaseMailException(e.toString(), e.getMessage());
}
}
private class autentificadorSMTP extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(miCorreo, miContraseña);
}
}
}
No hay comentarios:
Publicar un comentario