Invio mail con allegato in Java: JavaMail!
Scritto il 01-11-2011 da Vito Antonio Bonardi
Pubblicato su : Programming, Technology
4
Ecco poche righe di codice per inviare una mail con allegato in java, niente di più semplice!
import javax.activation.DataHandler;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.Session;
import javax.activation.FileDataSource;
import javax.mail.Multipart;
import java.util.Date;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMultipart;
public class sendEmailWithAttach
{
public static boolean sendEmailAttach(String sFrom, Strind sTo, String sSubject, String sMsg, String sFile, String sSmtpServer)
{
boolean bEsito=true;
Properties pProps = System.getProperties();
pProps.put("mail.smtp.host",sSmtpServer);
Session session = Session.getIstance(pProps, null);
try
{
//creo il messaggio
MimeMessage msg = new MimeMessage(session);
//...il mittente
msg.setFrom(new InternetAddress(sFrom));
//...i destinatari
InternetAddress[] address = {new InternetAddress(sTo)};
msg.setRecipients(Message.RecipientType.TO, address);
//...l'oggetto del messaggio
msg.setSubject(sSubject);
MimeBodyPart mbpf = new MimeBodyPart();
mbpf.setText(sMsg);
MimeBodyPart mbpl = new MimeBodyPart();
FileDataSource fds = new FileDataSource(sFile);
//...allego il file al messaggio
mbpl.setDataHandler(new DataHandler(fds));
mbpl.setFileName(fds.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbpf);
mp.addBodyPart(fds);
msg.setContent(mp);
msg.setSentDate(new Date());
//...invio
Transport.send(msg);
}
catch(Exception e)
{
e.printStackTrace();
bEsito=false;
}
return bEsito;
}
}






