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,javase)