spring框架自身集成了发邮件的功能,不需要再引入其他的功能就可以实现了。
首先需要将spring/lib/j2ee目录下的activation.jar和mail.jar加入到工程的classpath,本工程是加入的spring2.0.5的版本,为了简单将j2ee下的所有jar包都引入了。
同时,因为部分用到了spring的依赖注入,所以还需要spring的依赖包,如果不需要spring注入可以不用理会这步。
****************************************************************************************************
< xml version="1.0" encoding="UTF-8" >
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"
>
*****************************************************************************************************
//程序部分
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的专栏