javamail发附件简例

package com.attach.service;

import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
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;
/**
 * 需要使用标准javamail jar包
 */
public class Sender {

	public static void main(String[] args) {
		try {
			send();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void send() throws Exception {
		Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.qq.com");
		props.put("mail.smtp.auth", "true");

		Session sess = Session.getInstance(props);

		MimeMessage msg = new MimeMessage(sess);
		InternetAddress from = new InternetAddress("[email protected]");
		msg.setFrom(from);
		InternetAddress to = new InternetAddress("[email protected]");

		msg.setRecipient(MimeMessage.RecipientType.TO, to);
		msg.setSubject("title");//邮件标题
		msg.setSentDate(new Date());

		Multipart multipart = new MimeMultipart();//添加附件
		MimeBodyPart mimeBodyPart = new MimeBodyPart();
		FileDataSource fds = new FileDataSource("f:/log/poi_change3.xlsx");
		mimeBodyPart.setDataHandler(new DataHandler(fds));
		mimeBodyPart.setFileName("poi_change3.xlsx");
		mimeBodyPart.setText("this is file content");//邮件正文
		multipart.addBodyPart(mimeBodyPart);
		
		msg.setContent(multipart);

		Transport trans = sess.getTransport("smtp");
		trans.connect("smtp.qq.com", "username", "password");
		trans.sendMessage(msg, msg.getAllRecipients());
		trans.close();
	}
}

你可能感兴趣的:(java)