Esempio di utilizzo
Nella fretta ho scordato una cosa abbastanza importante: il classico esempio di utilizzo della classe.
Vediamo in sostanza, come può essere banalmente utilizzata la classe.
Supponiamo di disporre di un server SMTP che non necessita di autenticazione (tipo i server intranet delle aziende) all'indirizzo 192.168.1.2 e di voler inviare una mail dall'indirizzo "info@miodominimo.it" all'indirizzo destinatario "pippo@altrohost.it".
codice:
String mailServer = "192.168.1.2";
String[] recipient {"pippo@altrohost.it"};
String[] cc = new String[0]; // Non necessito di destinatari in copia
String subject = "Messaggio di prova"; // L'oggetto della mail
String[] messaggio = {"Ciao Pippo!", "Come va?", "Questa è una mail di prova."};
String fileName = "C:\\Allegato.zip"; // Allego un file ZIP
String userName = ""; // Non necessito di autenticazione
String password = ""; // Non necessito di autenticazione
String nomeUtente = "Azienda"; // Il nome che verrà visualizzato al destinatario
String from = "info@miodominio.it";
String nomeFileVis = "Ordine.zip"; // Il destinatario vedrà un allegato che si chiama "Ordine.zip"
String confLettura = "info@miodominio.it"; // Voglio la conferma di lettura
boolean requireLogin = false; // Non necessito di login
boolean confReceipt = false; // Non mi interessa la notifica di recapito
// Ora invio la mail:
SendMail.sendMail(mailServer, recipient, cc, subject, messaggio, fileName, userName, password, nomeUtente, from, nomeFileVis, confLettura, confReceipt);
La versione della classe che ho postato non tiene conto che l'utente potrebbe non voler spedire alcun allegato... le correzioni da apportare per poter offrire all'utente tale possibilità sono poche: è sufficiente inserire delle apposite condizioni sulla presenza o meno di un valore consistente per i campi relativi all'allegato.
Se, invece, disponiamo di un server che richiede autenticazione (esempio, un server a disposizione da parte del nostro ISP), il precedente esempio diventerebbe:
codice:
String mailServer = "192.168.1.2";
String[] recipient {"pippo@altrohost.it"};
String[] cc = new String[0]; // Non necessito di destinatari in copia
String subject = "Messaggio di prova"; // L'oggetto della mail
String[] messaggio = {"Ciao Pippo!", "Come va?", "Questa è una mail di prova."};
String fileName = "C:\\Allegato.zip"; // Allego un file ZIP
String userName = "nome_utente"; // Necessito di autenticazione
String password = "password"; // Necessito di autenticazione
String nomeUtente = "Azienda"; // Il nome che verrà visualizzato al destinatario
String from = "info@miodominio.it";
String nomeFileVis = "Ordine.zip"; // Il destinatario vedrà un allegato che si chiama "Ordine.zip"
String confLettura = "info@miodominio.it"; // Voglio la conferma di lettura
boolean requireLogin = true; // Necessito di login
boolean confReceipt = false; // Non mi interessa la notifica di recapito
// Ora invio la mail:
SendMail.sendMail(mailServer, recipient, cc, subject, messaggio, fileName, userName, password, nomeUtente, from, nomeFileVis, confLettura, confReceipt);
Ciao.