public boolean enviarMail(String email, String passw, boolean envio) throws MessagingException {
        boolean ret = false;
        abrirBase();
        LazyList<Email> emailsModel = Email.findAll();

        if (!emailsModel.isEmpty() || !envio) {
            cerrarBase();
            if (envio) {
                abrirBase();
                emailModel = emailsModel.get(0);
                this.mail = emailModel.getString("email");
                String contraEncrip = emailModel.getString("password");
                char arrayD[] = contraEncrip.toCharArray();
                for (int i = 0; i < arrayD.length; i++) {
                    arrayD[i] = (char) (arrayD[i] - (char) 5);
                }
                this.passwo = String.valueOf(arrayD);
                cerrarBase();
            } else {
                this.mail = email;
                this.passwo = passw;
            }
            // se obtiene el objeto Session. La configuración es para
            // una cuenta de gmail.
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.live.com");
            props.setProperty("mail.smtp.starttls.enable", "true");
            props.setProperty("mail.smtp.port", "587");
            props.setProperty("mail.smtp.user", mail);
            props.setProperty("mail.smtp.auth", "true");

            Session session = Session.getDefaultInstance(props, null);
            // session.setDebug(true);

            // Se compone la parte del texto
            BodyPart texto = new MimeBodyPart();
            texto.setText("Texto del mensaje");

            // Se compone el adjunto con la imagen
            BodyPart adjunto = new MimeBodyPart();
            String dir = (new File(System.getProperty("user.dir")).getAbsolutePath());

            adjunto.setDataHandler(
                    new DataHandler(new FileDataSource(dir + "/backupEmail.sql")));
            adjunto.setFileName("backupSapoLubricentro.sql");

            // Una MultiParte para agrupar texto e imagen.
            MimeMultipart multiParte = new MimeMultipart();
            multiParte.addBodyPart(texto);
            multiParte.addBodyPart(adjunto);

            // Se compone el correo, dando to, from, subject y el
            // contenido.
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(mail));
            message.addRecipient(
                    Message.RecipientType.TO,
                    new InternetAddress(mail));
            message.setSubject("BackUp mensual Sapo lubricentro");
            message.setContent(multiParte);

            // Se envia el correo.
            Transport t = session.getTransport("smtp");
            try {
                t.connect(mail, passwo);
            } catch (javax.mail.AuthenticationFailedException ex) {
                JOptionPane.showMessageDialog(null, "¡Datos incorrectos, no se ha establecido la conexión!", "Error", JOptionPane.ERROR_MESSAGE);
            }
            ret = t.isConnected();
            if (envio) {
                try {
                    t.sendMessage(message, message.getAllRecipients());
                } catch (javax.mail.MessagingException ex) {
                    ret = false;

                }
            }
            if (envio && ret) {
                abrirBase();
                Envio enviarModel = new Envio();
                Base.openTransaction();
                Envio.deleteAll();
                enviarModel.set("fecha", convertirFechaString());
                enviarModel.setBoolean("enviado", true);
                enviarModel.saveIt();
                Base.commitTransaction();
                cerrarBase();
            }
            t.close();
        } else {
            JOptionPane.showMessageDialog(null, "No hay cofiguración de email guardada, por favor cargue los datos para habilitar el backup mensual");
        }
        return ret;

    }