`
fantlam
  • 浏览: 99058 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

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

阅读更多

这是邮件系列文章的完结篇了,最后一次我用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();

}

}

 
分享到:
评论

相关推荐

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    simple-java-boards:使用Spring Framework用Java开发的论坛引擎

    用Java编写的简单论坛引擎。 特征 对话 顶级类别; 类别内的木板(论坛)提供无限的嵌套支持; 董事会内的主题和主题内的帖子; 对主题和帖子的分页支持; 附件支持; 用于发布的简单图像附件库; 用户和角色...

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    JAVA上百实例源码以及开源项目源代码

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    velocity开发必备(中文指南+精通Velociy)

    5. **与其他框架的集成**:展示了Velocity如何与Spring、Struts等Java Web框架协同工作,以及在非Web环境中如邮件生成、XML处理的应用。 6. **社区与资源**:提供了Velocity社区的信息,包括邮件列表、文档和API,...

    Freemarker使用指南

    此外,Freemarker可以与Spring MVC、Sitemesh、Struts等框架集成,具体的集成代码可参考相关工程附件。 Freemarker的常用指令和语法包括: 1. 输出内容:使用`${…}`表示插值,Freemarker会替换花括号内的表达式并...

    springMVC返回复杂的json格式数据方法

    在Spring MVC中处理复杂的JSON格式数据,可以通过`@ResponseBody`直接返回Java对象,或者使用JSON库手动构建JSON字符串,但在复杂情况下推荐使用`ViewModel`配合`MappingJackson2JsonView`来保持代码的清晰和可维护...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Java EE 框架..................................................................................................................................................................................1 ...

Global site tag (gtag.js) - Google Analytics