Para este primer tutorial he decidido poner un ejemplo de algo que puede parecer una tontería "enviar un correo electrónico desde Java" pero si no encuentra un buen ejemplo en la red puedes pegarte un buen rato.
Lo primero debemos bajarnos la librería JavaMail.jar y activation.jar y añadirlos a nuestro proyecto.
En principio creamos una clase para el envío de emails:
public class SendMail {
private String from;
private String to;
private String subject;
private String text;
private ITracer tracer;
public SendMail(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
tracer = FileTracer.getInstance();
}
public void send(){
Properties props = new Properties();
props.put("mail.smtp.host", "ServidorSMTP");
props.put("mail.smtp.port", "25"); //Suele ser este puerto
props.put("mail.smtp.auth", "true");
Session mailSession = Session.getDefaultInstance(props,new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("UsuarioSMTP",
"PasswordSMTP");
}
});
Message simpleMessage = new MimeMessage(mailSession);
InternetAddress fromAddress = null;
InternetAddress toAddress = null;
try {
fromAddress = new InternetAddress(from);
toAddress = new InternetAddress(to);
} catch (AddressException e) {
tracer.send(ITracer.INFO,e.getMessage());
}
try {
simpleMessage.setFrom(fromAddress);
simpleMessage.setRecipient(RecipientType.TO, toAddress);
simpleMessage.setSubject(subject);
simpleMessage.setText(text);
Transport.send(simpleMessage);
tracer.send(ITracer.INFO,"Email enviado a "+toAddress);
} catch (MessagingException e) {
tracer.send(ITracer.INFO,e.getMessage());
}
}
public void setSubject(String subject)
{
this.subject = subject;
}
public void setText(String message)
{
this.text = message;
}
}
Y por último sólo nos queda usarlo:
SendMail mail = new SendMail("FromEmail",
"ToEmail",
"Asunto",
"Mensaje");
mail.send();
Un saludo y espero que os sea útil ;)
2 comentarios:
Donde pones: "Ahora la implementación de una conexión al puerto paralelo."
Quisiste decir:
"Ahora la implementación de una conexión al puerto serie."
Buen trabajo y enhorabuena por el blog.
Saludo.
Gracias coleoptero por tu puntualización, ya lo he corregido ;)
Publicar un comentario