Resulta que estoy realizando en mi aplicación una función para mandar emails en ciertos días, pero nose como hacerlo. He pensado en crear un listener que cuando sea un día relize esa operación. Me imagino que tendra que ser algo similar ha que la aplicacion realize un job un cierto dia, pero nose que es lo que hay que hacer...
Si alguien sabe la solución le agradecería que me ayudase.
Muchsimoas gracias.
Mientras tanto adjunto el codigo que he realizado y funciona para mandar emails (por lo menos desde cuentas gmail a cualquier otra cuenta gmail,hotmaiil...):
Código:
String d_email = "[email protected]", d_password = "xxxxxx", d_host = "smtp.gmail.com", d_port = "465", m_to = "[email protected]", m_subject = "Testing"; public String button1_action() { String m_text = textArea1.getValue().toString(); Properties props = new Properties(); props.put("mail.smtp.user", d_email); props.put("mail.smtp.host", d_host); props.put("mail.smtp.port", d_port); props.put("mail.smtp.starttls.enable","true"); props.put("mail.smtp.auth", "true"); //props.put("mail.smtp.debug", "true"); props.put("mail.smtp.socketFactory.port", d_port); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); SecurityManager security = System.getSecurityManager(); try { Authenticator auth = new SMTPAuthenticator(); Session session = Session.getInstance(props, auth); //session.setDebug(true); MimeMessage msg = new MimeMessage(session); msg.setText(m_text); msg.setSubject(m_subject); msg.setFrom(new InternetAddress(d_email)); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to)); Transport.send(msg); } catch (Exception mex) { mex.printStackTrace(); } return null; } private class SMTPAuthenticator extends javax.mail.Authenticator { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(d_email, d_password); } }
Muchas gracias