如何使用spring的JavaMailSenderImpl与SimpleMailMessage发送邮件实例源码介绍



java发送邮件,如何使用spring的JavaMailSenderImpl与SimpleMailMessage发送邮件实例源码介绍。

发送邮件的项目主要用到的jar包是:JUnit4 ,Spring 3.0 Core Libraries , Spring 3.0 Misc Library

spring的JavaMailSenderImpl与SimpleMailMessage发送邮件项目中的xml文件

<!– 定义JavaMailSenderImpl,它用于发送邮件 –>
<bean id=”mailSender” class=”org.springframework.mail.javamail.JavaMailSenderImpl”>
<!– 指定发送邮件的SMTP服务器地址 –>
<!– 
<property name=”host” value=”smtp.qq.com:25″/>
<property name=”host” value=”smtp.163.com”/>
–>
<property name=”host” value=”mail.whty.com.cn”/>
<property name=”javaMailProperties”>
<props>
<prop key=”mail.smtp.auth”>true</prop>
<prop key=”mail.smtp.timeout”>25000</prop>
</props>
</property>
<!– 指定登录邮箱的用户名、密码 
<property name=”username” value=”xiaoqiang_sea@qq.com”/>
<property name=”password” value=”19850416oop”/>
–>
<property name=”username” value=”wangwq@whty.com.cn”/>
<property name=”password” value=”123″/>
</bean>
     <!– 定义SimpleMailMessage Bean,它代表了一份邮件 –>
<bean id=”templateMessage” class=”org.springframework.mail.SimpleMailMessage”>
   <!– 
<property name=”from” value=”10086@139.com”/>
   <property name=”from” value=”wangwq”/>
    –>
<!– 指定邮件标题 
   <property name=”subject” value=”10086中国移动”/>
–>
<property name=”from” value=”wxm@whty.com.cn”/>
   <property name=”subject” value=”航天达泰兽,出来吧。”/>
    </bean>   
    
  <bean id=”orderManager” class=”com.mail.sender.SimpleOrderManager”>
        <property name=”mailSender” ref=”mailSender”/>
        <property name=”simpleMailMessage” ref=”templateMessage”/>
    </bean>   
使用spring的JavaMailSenderImpl与SimpleMailMessage发送邮件测试类:

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.mail.sender.SimpleOrderManager;
public class MailTest {
    @Test
    public void main1(){
    
// BeanFactory applicationContext = new ClassPathXmlApplicationContext(“spring-config.xml”);
// SimpleOrderManager simpleOrderManager = (SimpleOrderManager)applicationContext.getBean(“orderManager”);
        BeanFactory beanFactory = new ClassPathXmlApplicationContext(“spring-config.xml”) ;
        SimpleOrderManager simpleOrderManager = (SimpleOrderManager)beanFactory.getBean(“orderManager”);
        
        
        simpleOrderManager.placeOrder();
    }
}
下面的是主要功能类:
package com.mail.sender;
import org.junit.Test;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
public class SimpleOrderManager  {
    private MailSender mailSender ;
    private SimpleMailMessage simpleMailMessage ;
    public void setMailSender(MailSender mailSender) {
        this.mailSender = mailSender;
    }
    public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
        this.simpleMailMessage = simpleMailMessage;
    }
    
@Test
    public void placeOrder() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage(this.simpleMailMessage); //SimpleMailMessage只能用来发送text格式的邮件
        String[] sMail = {“wangwq@whty.com.cn”,”liuw@whty.com.cn”,”wxm@whty.com.cn”}; 
        String temp = sMail[0];
//        simpleMailMessage.setTo(temp);
//        String m1 = “贵客户您于7月15日在武汉市沃尔玛透支4800元,已确认成消费,将于月底括除,如有疑问请咨询13871534562。”;
//        String m2 = “小明哥你好:我早上出去买菜的时候已经把钱给你汇到你的账户上了,我是厦门的,麻烦查收到给我个电话。”;
//        String m3 = “贵客户您于7月15日在武汉市沃尔玛透支4800元,已确认成消费,将于月底括除,如有疑问请咨询95555。”;
        String m4 = “小明:\n 有你的快递,请到企业管理部领取。谢谢!”;
        simpleMailMessage.setText(m4);
        try{
         simpleMailMessage.setTo(sMail);
         this.mailSender.send(simpleMailMessage);
        }
        catch (MailException e){
            System.out.println(e.getMessage());
        }
    }
}