X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=server%2Ftesi%2Fsrc%2Fcom%2Fcompany%2FEmailSender.java;fp=server%2Ftesi%2Fsrc%2Fcom%2Fcompany%2FEmailSender.java;h=1abf701b2246c8475f59ee355691a9c7ad55838f;hb=edfa62efb21b128dce6de134a3fb0d85f77bd2b8;hp=0000000000000000000000000000000000000000;hpb=a02dc65816998ec35975339dbad1627c2e5fb444;p=logicplayer.git diff --git a/server/tesi/src/com/company/EmailSender.java b/server/tesi/src/com/company/EmailSender.java new file mode 100644 index 0000000..1abf701 --- /dev/null +++ b/server/tesi/src/com/company/EmailSender.java @@ -0,0 +1,110 @@ +package com.company; + +import java.util.Date; +import java.util.Properties; +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Multipart; +import javax.mail.NoSuchProviderException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeBodyPart; +import javax.mail.internet.MimeMessage; +import javax.mail.internet.MimeMultipart; + + + +public class EmailSender { + private String user; + private String password; + private String host; + private String mittente; + private String destinatario; + private String oggetto; + private String mess; + + + EmailSender(String user, String password, String host, + String mittente, String destinatario, + String oggetto, String mess){ + + this.user = user; + this.password = password; + this.host = host; + this.mittente = mittente; + this.destinatario = destinatario; + this.oggetto = oggetto; + this.mess=mess; + } + + + // Metodo che si occupa dell'invio effettivo della mail + public void inviaEmail() { + int port = 465; //porta 25 per non usare SSL + + Properties props = new Properties(); + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.user", mittente); + props.put("mail.smtp.host", host); + props.put("mail.smtp.port", port); + + // commentare la riga seguente per non usare SSL + props.put("mail.smtp.starttls.enable","true"); + props.put("mail.smtp.socketFactory.port", port); + + // commentare la riga seguente per non usare SSL + props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); + props.put("mail.smtp.socketFactory.fallback", "false"); + + Session session = Session.getInstance(props, null); + session.setDebug(true); + + // Creazione delle BodyParts del messaggio + MimeBodyPart messageBodyPart1 = new MimeBodyPart(); + + try{ + // COSTRUZIONE DEL MESSAGGIO + Multipart multipart = new MimeMultipart(); + MimeMessage msg = new MimeMessage(session); + + // header del messaggio + msg.setSubject(oggetto); + msg.setSentDate(new Date()); + msg.setFrom(new InternetAddress(mittente)); + + // destinatario + msg.addRecipient(Message.RecipientType.TO, + new InternetAddress(destinatario)); + + // corpo del messaggio + messageBodyPart1.setText(mess); + multipart.addBodyPart(messageBodyPart1); + + // allegato al messaggio + /*DataSource source = new FileDataSource(allegato); + messageBodyPart2.setDataHandler(new DataHandler(source)); + messageBodyPart2.setFileName(allegato); + multipart.addBodyPart(messageBodyPart2);*/ + + // inserimento delle parti nel messaggio + msg.setContent(multipart); + + Transport transport = session.getTransport("smtps"); //("smtp") per non usare SSL + transport.connect(host, user, password); + transport.sendMessage(msg, msg.getAllRecipients()); + transport.close(); + + System.out.println("Invio dell'email Terminato"); + + }catch(AddressException ae) { + ae.printStackTrace(); + }catch(NoSuchProviderException nspe){ + nspe.printStackTrace(); + }catch(MessagingException me){ + me.printStackTrace(); + } + + } +}