SendMailWithFile

package hello.javax.mail;

import java.io.File;

import java.util.Date;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Message;

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;

import javax.mail.internet.MimeUtility;

public class HelloSendFile {

/**

* @param args

*/

public static void main(String[] args) {

try {

Properties props = System.getProperties();

props.put("mail.smtp.host", "localhost");

props.put("mail.smtp.auth","true");

Session session = Session.getDefaultInstance(props, null);

MimeMessage mimeMessage = new MimeMessage(session);

mimeMessage.setFrom(new InternetAddress("aaa@bbb.com", "Taro Yamada", "iso-2022-jp"));

mimeMessage.setRecipients(Message.RecipientType.TO, "xxx@yyy.com");

mimeMessage.setSubject("File Attachment", "iso-2022-jp");


MimeBodyPart mbp1 = new MimeBodyPart();

mbp1.setText("MimeBodyPart 1", "iso-2022-jp");


MimeBodyPart mbp2 = new MimeBodyPart();

File attachmentFile = new File("report.csv");

FileDataSource fds = new FileDataSource(attachmentFile);

mbp2.setDataHandler(new DataHandler(fds));

mbp2.setFileName(MimeUtility.encodeWord(fds.getName()));

Multipart mp = new MimeMultipart();

mp.addBodyPart(mbp1);

mp.addBodyPart(mbp2);

mimeMessage.setContent(mp);

mimeMessage.setSentDate(new Date());

Transport tp = session.getTransport("smtp");

tp.connect(null, "user", "user");

tp.sendMessage(mimeMessage, mimeMessage.getFrom());

} catch (Exception e) {

e.printStackTrace();

}

}

}