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();
}
}
}