灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2973回复:0

spring的发送邮件

楼主#
更多 发布于:2012-09-08 09:43

spring框架自身集成了发邮件的功能,不需要再引入其他的功能就可以实现了。
首先需要将spring/lib/j2ee目录下的activation.jar和mail.jar加入到工程的classpath,本工程是加入的spring2.0.5的版本,为了简单将j2ee下的所有jar包都引入了。
同时,因为部分用到了spring的依赖注入,所以还需要spring的依赖包,如果不需要spring注入可以不用理会这步。
****************************************************************************************************
<!-- xml部分(注入) -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsichemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd"
>
      <bean id="mailSender" class="org.springframework.mail.javamail.javaMailSenderImpl">
        <property name="host" value="smtp.163.com" />
        <property name="port" value="25" />
        <property name="username" value="kenchow163@163.com" />
        <property name="password" value="你的用户密码" />
        <property name="javaMailProperties">
             <props>
                 <prop key="mail.smtp.auth">true</prop>
             </props>
        </property>
    </bean>
</beans>
*****************************************************************************************************
//程序部分
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(
     "<html><head></head><body><h1>Hello! Spring!"
     + "</h1></body></html>", 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的专栏


喜欢0 评分0
游客

返回顶部