支持多媒体的邮件

发表时间:2017-07-11 17:06:28 浏览量( 26 ) 留言数( 0 )

学习目标:

1、了解Java的历史

2、为什么要学习Java语言

3、端正学习态度


学习过程:

上一节可我们已经发送了一个简单的邮件,这个邮件只能支持简单的文本,但是我们都知道邮件也有可能是一个网页,支持HTML语法,同时还有可能内嵌了图片,有或者还带有附件,这份复杂的邮件我们又如何定义呢?Spring提供了一个MimeMessageHelper类帮助我们定义这样一中复杂的邮件,所有的配置文件都需要修改,我们只需要修改Action文件就可以了,代码如下:

    //建立一个可以发送和解释html的邮件
MimeMessage mime=mailSender.createMimeMessage();
        
//通过mail的帮助类实现构造
try {
    MimeMessageHelper helper=new MimeMessageHelper(mime, true, "utf-8");
    helper.setFrom("598610582@qq.com");
    helper.setTo("1905678733@qq.com");
    helper.setSubject("html的邮件");
    // 内嵌图片
    helper.setText("<html><body><b> 你好啊!!</b> <img src='cid:abc' /> </body></html>" ,true);
                //获得系统的路径
    FileSystemResource file=new FileSystemResource(new File("D://press_text.9.png"));
    helper.addInline("abc", file);
    //定义附近并解决中文呢乱码的问题
    String temp=null;
    try {
        temp = new String("你好.zip".getBytes(), "iso-8859-1");
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    //发送附件
    FileSystemResource attfile=new FileSystemResource(new File("D://press_text.9.zip"));
    helper.addAttachment(temp, attfile);
    mailSender.send(mime);
    } catch (MessagingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
System.out.println("发送成功");

注意内容图片的固定格式是cid:名称,然后使用addInline方法添加一个图片。而添加附件的方法也比较简单就是使用addAttachment方法就可以了。可见使用spring封装了邮件发送之后操作真的很简单,再次点击页面的发送邮件,查看是否能正常发送。