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();

}

}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值