tengo el siguiente codigo
Cita:
EL cual me pasaron y me sirve para enviar correo.package com.app.utiles;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class EnviaCorreo {
private javax.ejb.SessionContext mySessionCtx;
private String host = "smtp.gmail.com";
private String cuenta_correo = "[email protected]";
private String clave = "teamojesus";
static Logger logger = Logger.getLogger(EnviaCorreo.class);
public boolean sendMail(String de,String para,String asunto,String cuerpo){
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(de));
msg.setRecipients(Message.RecipientType.TO,Interne tAddress.parse(para));
msg.setSubject(asunto);
msg.setText(cuerpo);
msg.setHeader("MINEDUC-Mailer", "CERTIFICACION-Email");
msg.setSentDate(new Date());
Transport transport = session.getTransport("smtp");
transport.connect(host, cuenta_correo, clave);
msg.saveChanges();
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
logger.info("MENSAJE ENVIADO CORRECTAMENTE");
} catch (AddressException e) {
logger.error(e.getMessage());
logger.info("MENSAJE NO ENVIADO");
return false;
} catch (MessagingException e) {
logger.error(e.getMessage());
logger.info("MENSAJE NO ENVIADO");
return false;
}
return true;
}
}
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class EnviaCorreo {
private javax.ejb.SessionContext mySessionCtx;
private String host = "smtp.gmail.com";
private String cuenta_correo = "[email protected]";
private String clave = "teamojesus";
static Logger logger = Logger.getLogger(EnviaCorreo.class);
public boolean sendMail(String de,String para,String asunto,String cuerpo){
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(de));
msg.setRecipients(Message.RecipientType.TO,Interne tAddress.parse(para));
msg.setSubject(asunto);
msg.setText(cuerpo);
msg.setHeader("MINEDUC-Mailer", "CERTIFICACION-Email");
msg.setSentDate(new Date());
Transport transport = session.getTransport("smtp");
transport.connect(host, cuenta_correo, clave);
msg.saveChanges();
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
logger.info("MENSAJE ENVIADO CORRECTAMENTE");
} catch (AddressException e) {
logger.error(e.getMessage());
logger.info("MENSAJE NO ENVIADO");
return false;
} catch (MessagingException e) {
logger.error(e.getMessage());
logger.info("MENSAJE NO ENVIADO");
return false;
}
return true;
}
}
EL problema lo tengo ya que intento mandar un correo a través de gmail. Y me da el siguiente error:
530 5.7.0 Must issue a STARTTLS command first. b7sm3201586ana.35
¿Alguien entiende que sucede?
Gracias