import com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage;
import java.util.Date;
import java.util.Properties;
import java.util.logging.Logger;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SendMailWithAttachment {
MyLog myLog;
/**
*
* @param fileName
* @param numRecord
* @param uploadSuccess
* @param appendMessage
* @throws MessagingException
*/
public SendMailWithAttachment(MyLog myLog, String fileName, String mailContent) throws MessagingException {
this.myLog = myLog;
Properties p = System.getProperties();
p.put("mail.smtp.host","172.20.15.12");
Session session = Session.getDefaultInstance(p, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("xxx@yyy.it"));
//message.addRecipients(Message.RecipientType.TO, InternetAddress.parse("xxx@yyy.it"));
message.addRecipients(Message.RecipientType.TO, InternetAddress.parse("xxx@yyy.it"));
message.addRecipients(Message.RecipientType.CC, InternetAddress.parse("xxx@yyy.it"));
message.addRecipients(Message.RecipientType.CC, InternetAddress.parse("xxx@yyy.it"));
message.addRecipients(Message.RecipientType.CC, InternetAddress.parse("xxx@yyy.it"));
//message.addRecipients(Message.RecipientType.CC, InternetAddress.parse("xxx@yyy.it"));
String data = new Date().toString();
message.setSubject(mailContent);
// create and fill the first message part
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(""+
mailContent + "\n" +
"(Questa mail è stata generata automaticamente)\n" +
"------------------\n" +
"xxx S.p.A."
);
// create the second message part
MimeBodyPart mbp2 = new MimeBodyPart();
// attach the file to the message
FileDataSource fds = new FileDataSource(fileName);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
// create the Multipart and add its parts to it
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
// add the Multipart to the message
message.setContent(mp);
message.setSentDate(new Date());
try{
Transport.send(message);
this.myLog.info("Messaggio inviato");
}
catch (MessagingException e){this.myLog.error("IMPOSSIBILE INVIARE MAIL DI CONFERMA!");}
}
}