Qualsiasi programmatore, prima o poi, ha necessità di inviare delle mail.

In Java esistono moltissimi modi per farlo e uno di questi è utilizzando la libreria Apache Commons Email.
Le librerie Apache Commons sono state scritte per permettere a tutti i progretti Jakarta ma non solo di poter disporre di componenti, pronti all’uso, integrabili nei rispettivi progetti.
Uno di questi componenti è proprio Commons Email, utilizzabile per inviare mail in formato normale o anche html, con o senza attachment.
Utilizzare tale libreria, per chi ha un minimo di confidenza con Java, è davvero semplice.
Con 7 righe di codice è possibile inviare una mail in formato html senza allegati.
Ecco un esempio:
HtmlEmail email = new HtmlEmail();
email.setSubject("Una nuova mail per Roberto Rossi");
email.setHtmlMsg("Ecco un testo in formato <b>HTML</b><br/>");
email.setHostName("host");
email.setFrom("no-reply@bits4beats.it");
email.addTo("user@bits4beats.it");
email.send();
Se invece vogliamo spedire una mail in formato testo standard basta usare l’oggetto SimpleEmail anziché HtmlEmail e il metodo setMsg anziché setHtmlMsg, in questo modo:
SimpleEmail email = new SimpleEmail();
email.setSubject("Una nuova mail per Roberto Rossi");
email.setMsg("Ecco un testo in formato standard");
email.setHostName("host");
email.setFrom("no-reply@bits4beats.it");
email.addTo("user@bits4beats.it");
email.send();
Infine, se abbiamo la necessità di aggiungere degli allegati alla mail, nel primo caso possiamo utilizzare semplicemente il metodo attach passando come parametro un oggetto EmailAttachment costruito così:
EmailAttachment attachment = new EmailAttachment();
String filePath = "pathtofile";
attachment.setPath(filePath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("description for this attachment");
emailAdmin.attach(attachment);
Mentre nel secondo caso dobbiamo utilizzare il tipo di email MultiPartEmail anziché SimpleEmail per poter disporre del metodo attach utile per l’inclusione di allegati.
Decisamente comodo e potente.
