发送带有附件的电子邮件的实用方法
//package com.nowjava;/*n o w j a v a . c o m 提 供*/ import java.io.UnsupportedEncodingException; import java.util.Date; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.BodyPart; 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 Main {//时 代 J a v a 公 众 号 - N o w J a v a . c o m 提 供 /** * Utility method to send email with attachment * * @param session * @param toEmail * @param subject * @param body */ public static void sendAttachmentEmail(Session session, String toEmail, String subject, String body) { try { MimeMessage msg = new MimeMessage(session); msg.addHeader("Content-type", "text/HTML; charset=UTF-8"); msg.addHeader("format", "flowed"); msg.addHeader("Content-Transfer-Encoding", "8bit"); msg.setFrom(new InternetAddress("no_reply@journaldev.com", "NoReply-JD")); msg.setReplyTo(InternetAddress.parse("no_reply@journaldev.com", false)); msg.setSubject(subject, "UTF-8"); msg.setSentDate(new Date()); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false)); // Create the message body part BodyPart messageBodyPart = new MimeBodyPart(); // Fill the message messageBodyPart.setText(body); // Create a multipart message for attachment Multipart multipart = new MimeMultipart(); // Set text message part multipart.addBodyPart(messageBodyPart); // Second part is attachment messageBodyPart = new MimeBodyPart(); String filename = "abc.txt"; DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); mes