java邮件开发(8、用spring发送HTML嵌套图片并带附件)
2012-01-09 02:30
816 查看
这是邮件系列文章的完结篇了,最后一次我用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();
}
}
同时告诉做程序的也可以赚点外快,想我这样:http://t.cn/zOyltbx
程序测试过了 发给搜狐就没问题,至于其它可能它比较严格,把邮件过滤掉了,我是用自己本地的服务器。
代码如下
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();
}
}
同时告诉做程序的也可以赚点外快,想我这样:http://t.cn/zOyltbx
相关文章推荐
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Spring 发送带有内嵌图片和附件的邮件的java程序
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- spring简单邮件发送(文本/html/图片/附件)
- spring应用开发之javamail定时邮件发送
- python发送包含html、图片、附件和链接的邮件
- JAVAMAIL发送邮件正文是html格式并且显示图片还带有附件的邮件
- Java程序中使用JavaMail发送带图片和附件的邮件
- python发送包含html、图片、附件和链接的邮件
- Spring 4发送HTML/纯文本邮件并携带附件
- Spring代码实例系列-10:通过Spring Mail发送简单邮件、附件和HTML邮件
- 用Java Mail发送带有图片附件的html格式邮件