spring的发送邮件

2014-11-24 08:07:33 · 作者: · 浏览: 0

spring框架自身集成了发邮件的功能,不需要再引入其他的功能就可以实现了。

首先需要将spring/lib/j2ee目录下的activation.jar和mail.jar加入到工程的classpath,本工程是加入的spring2.0.5的版本,为了简单将j2ee下的所有jar包都引入了。

同时,因为部分用到了spring的依赖注入,所以还需要spring的依赖包,如果不需要spring注入可以不用理会这步。

****************************************************************************************************

< xml version="1.0" encoding="UTF-8" >
http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
>



kenchow163@163.com" />



true



*****************************************************************************************************

//程序部分

package test;

import java.io.File;
import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;


public class Test {

public void mailSimple() {
// TODO Auto-generated method stub
ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");
JavaMailSender mailSender= (JavaMailSender) context.getBean("mailSender");
SimpleMailMessage mail = new SimpleMailMessage();
mail.setFrom("kenchow163@163.com");
mail.setTo("kenchow126@126.com");
mail.setSubject(" 测试spring Mail");
mail.setText("hello,java");

mailSender.send(mail);
}

public void mailAttachment(){
JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

//SMTP验证时,需要用户名和密码
senderImpl.setUsername("kenchow163@163.com");
senderImpl.setPassword("你的密码");
senderImpl.setHost("smtp.163.com");
senderImpl.setPort(25);
Properties javaMailProperties = new Properties();
javaMailProperties.setProperty("mail.smtp.auth", "true");
senderImpl.setJavaMailProperties(javaMailProperties);

MimeMessage mailMessage = senderImpl.createMimeMessage();
MimeMessageHelper messageHelper;
try {
messageHelper = new MimeMessageHelper(mailMessage, true);
messageHelper.setTo("kenchow126@126.com");
messageHelper.setFrom("kenchow163@163.com");
messageHelper.setSubject(" 主题。。。 ");
messageHelper.setText(
"

Hello! Spring!"
+ "

", true);

FileSystemResource file = new FileSystemResource(new File("C:\\Documents and Settings\\KenChow\\桌面\\test.xls"));
messageHelper.addAttachment("test.xls", file);

senderImpl.send(mailMessage);

System.out.println("OK");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


摘自 kenchow126的专栏