Buen dia, intento enviar un correo electrónico con archivos adjuntos, pero el programa pero se genera un NullPointerException
.
Este es el código para enviar el correo:
public static void enviarConGMail(String destinatario, String asunto,
String cuerpo, String remitente, String rutaImagen) {
// Esto es lo que va delante de @gmail.com en tu cuenta de correo. Es el remitente también.
//Para la dirección nomcuenta@gmail.com
Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.gmail.com"); //El servidor SMTP de Google
props.put("mail.smtp.user", remitente);
props.put("mail.smtp.clave", "xlnqopsuicgrdscc"); //La clave de la cuenta
props.put("mail.smtp.auth", "true"); //Usar autenticación mediante usuario y clave
props.put("mail.smtp.starttls.enable", "true"); //Para conectar de manera segura al servidor SMTP
props.put("mail.smtp.port", "587"); //El puerto SMTP seguro de Google
Session session = Session.getDefaultInstance(props);
MimeMessage message = new MimeMessage(session);
try {
//message.setText(cuerpo);
BodyPart texto= new MimeBodyPart();
texto.setText(cuerpo);
BodyPart adjunto= new MimeBodyPart();
adjunto.setDataHandler(new DataHandler(new FileDataSource(rutaImagen)));
MimeMultipart m=new MimeMultipart();
m.addBodyPart(texto);
m.addBodyPart(adjunto);
message.setFrom(new InternetAddress(remitente));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario)); //Se podrían añadir varios de la misma manera
message.setSubject(asunto);
message.setContent(m);
Transport transport = session.getTransport("smtp");
transport.connect("smtp.gmail.com", remitente, "xlnqopsuicgrdscc");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
catch (MessagingException me) {
me.printStackTrace(); //Si se produce un error
}
}