java邮件开发(8、用spring发送HTML嵌套图片并带附件)

2009年04月08日 JAVA 评论 4 条

 

这是邮件系列文章的完结篇了,最后一次我用spring发送HTML格式的邮件,邮件里嵌套图片,并带有附件功能。

程序测试过了 发给搜狐就没问题,至于其它可能它比较严格,把邮件过滤掉了,我是用自己本地的服务器。

代码如下

package org.fantlam.spring;

import java.io.File;

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeUtility;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.mail.javamail.JavaMailSender;

import org.springframework.mail.javamail.JavaMailSenderImpl;

import org.springframework.mail.javamail.MimeMessageHelper;

 

public class SpringMail2 {

public ApplicationContext ctx = null;

public SpringMail2() {

// 获取上下文

ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

}

public void send() {

// 获取JavaMailSender bean

JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");

JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

MimeMessage mailMessage = senderImpl.createMimeMessage();

// 设置utf-8或GBK编码,否则邮件会有乱码

MimeMessageHelper messageHelper = null;

try {

messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8");

} catch (MessagingException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try {

messageHelper.setTo("fantlam@sohu.com");// 接收者

messageHelper.setFrom("fantlam@sina.com");// 发送者

messageHelper.setSubject("用spring发送邮件");// 主题

// 邮件内容,注意加参数true(注重这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,multipart模式)

messageHelper.setText("<html><head></head><body><h1>用spring发送HTML并带附件的邮件</h1><br><img src='a'/></body></html>",true);// 附件内容

messageHelper.addInline("a", new File("c:/1.jpg"));

File file = new File("c:/中文名字.rar");

// 这里的方法调用和插入图片是不同的,使用MimeUtility.encodeWord()来解决附件名称的中文问题

messageHelper.addAttachment(MimeUtility.encodeWord(file.getName()),file);

sender.send(mailMessage);

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

new SpringMail2().send();

}

}

java邮件开发(8、用spring发送HTML嵌套图片并带附件)
就这样结束吧,java邮件开发,把我自己的理解和实验与大家一起分享,代码是参考别人的,实际运用中挺大作用的,一般项目里都需要发送邮件的功能,常见的用spring和quartz做定时邮件发送。
接下来准备的是java多媒体开发,是我毕业设计需要做的。一眨眼功夫就已经四月多了,将临毕业了,毕业设计碰都没碰,不是懒,而是时间没时间,累,白天上班,晚上想做也觉得有点乏力。虽然有时候觉得自己所做的一切没有什么回报的希望,但依然会坚持着生活。现在我不会对自己说要努力,坚持下去,因为一直都是这样。

 

4 条留言  访客:0 条  博主:0 条   引用: 2 条

  1. avatar 过去!NoW(.....)将来?

    真心挺感谢楼主的!

  2. 大牛

来自外部的引用: 2 条

  • 匿名
  • 匿名

给我留言取消回复