javamail邮件开发之带图片

来源:互联网 发布:淘宝怎么做到包邮 编辑:程序博客网 时间:2024/06/04 18:36
/** * 带图片资源的邮件 * @author lfsenior * */public class App_2SendWithImg {// 初始化参数private static Properties prop;// 发件人private static InternetAddress sendMan = null;static {prop = new Properties();prop.put("mail.transport.protocol", "smtp");// 指定协议prop.put("mail.smtp.host", "smtp.163.com");// 主机   stmp.qq.comprop.put("mail.smtp.port", 25);// 端口prop.put("mail.smtp.auth", "true");// 用户密码认证prop.put("mail.debug", "true");// 调试模式try {sendMan = new InternetAddress("zhangsan@163.com");} catch (AddressException e) {throw new RuntimeException(e);}}@Testpublic void testSend() throws Exception {// 1. 创建邮件会话Session session = Session.getDefaultInstance(prop);// 2. 创建邮件对象MimeMessage message = new MimeMessage(session);// 3. 设置参数:标题、发件人、收件人、发送时间、内容message.setSubject("带图片邮件");message.setSender(sendMan);message.setRecipient(RecipientType.TO, new InternetAddress("lisi@163.com"));message.setSentDate(new Date());/***************设置邮件内容: 多功能用户邮件 (related)*******************/// 4.1 构建一个多功能邮件块MimeMultipart related = new MimeMultipart("related");// 4.2 构建多功能邮件块内容 = 左侧文本 + 右侧图片资源MimeBodyPart content = new MimeBodyPart();MimeBodyPart resource = new MimeBodyPart();// 设置具体内容: a.资源(图片)String filePath = App_2SendWithImg.class.getResource("8.jpg").getPath();DataSource ds = new FileDataSource(new File(filePath));DataHandler handler = new DataHandler(ds);resource.setDataHandler(handler);resource.setContentID("8.jpg");   // 设置资源名称,给外键引用// 设置具体内容: b.文本content.setContent("<img src='cid:8.jpg'/>  好哈哈!", "text/html;charset=UTF-8");related.addBodyPart(content);related.addBodyPart(resource);/*******4.3 把构建的复杂邮件快,添加到邮件中********/message.setContent(related);// 5. 发送Transport trans = session.getTransport();trans.connect("zhangsan", "888");trans.sendMessage(message, message.getAllRecipients());trans.close();}}

原创粉丝点击