给邮件添加附件
package hb.test; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.Message; import javax.mail.MessagingException; 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 FujianTest { public static void main(String[] args) { Properties props = new Properties(); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.transport.protocol", "smtp"); Session session = Session.getInstance(props); session.setDebug(true); Message msg = new MimeMessage(session); try { msg.setText("来自hbiao68@@yeah.net 的 邮件测试"); msg.setSubject("测试邮件"); msg.setFrom(new InternetAddress("hbiao68@yeah.net")); msg.setSentDate(new Date()); //添加附件必须设置邮件类型 MimeMultipart msgMultipart = new MimeMultipart("mixed"); msg.setContent(msgMultipart); MimeBodyPart attch1 = new MimeBodyPart(); msgMultipart.addBodyPart(attch1); //设置附件的名称 attch1.setFileName("file1.BMP"); //设置数据源(即数据的来源) DataSource ds1 = new FileDataSource("C:\\d.BMP"); DataHandler dh1 = new DataHandler(ds1); //设置附件的句柄给这个附件对象 attch1.setDataHandler(dh1); Transport transport = session.getTransport(); transport.connect("smtp.yeah.net", 25, "用户名", "密码"); transport.sendMessage(msg, new Address[]{new InternetAddress("939706250@qq.com")}); transport.close(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
这里根据邮件的内容需要配置邮件的类型,如图:(来自传智播客)