Java Email More then one attachment.
/*
* Email.java
*
* Created on April 11, 2008, 8:08 AM
*/
package util.src;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/**
*
* @author kkhan
*/
public class Email {
Multipart mp = new MimeMultipart();
/** Creates a new instance of Email */
public Email() {
}
public void EmailSend(String to,String from,String host,String[]
arrayfilename,String msgText1,String subject){
// create some properties and get the default Session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
int i=0;
int j=0;
Session mailsession = Session.getInstance(props, null);
String filename="";
try {
for (i=0, i < arrayfilename.length; i++) {
System.out.println("Filename "+arrayfilename[i]);
}
if(subject == null) {
subject = "(No Subject)";
}
if (msgText1 == null) {
msgText1 = "";
}
// create a message
MimeMessage msg = new MimeMessage(mailsession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
// create and fill the first message part
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(msgText1);
//MimeBodyPart mbp2 = new MimeBodyPart();
for (i=0, j=0; i < arrayfilename.length; i++) {
if(arrayfilename[i]!=null && !
arrayfilename[i].equals("")){
MimeBodyPart mbp2 = new MimeBodyPart();
// create the second message part
//MimeBodyPart mbp2 = new MimeBodyPart();
// attach the file to the message
FileDataSource fds = new
FileDataSource(arrayfilename[i]);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp2);
}
}
// 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
msg.setContent(mp);
// set the Date: header
msg.setSentDate(new Date());
// send the message
Transport.send(msg);
}
catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}
}
}
}