发送邮件

1.通过eclipse建立Java Project,新建lib文件夹,放入需要的jar包,添加至classpath。如下所示

2.新建applicationContext.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" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">    
    <bean id="mailService" class="org.daniel.send.MailService">
        <property name="mailSender" ref="mailSender"></property>
    </bean>
    
    <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="zhangsan@163.com" />
        <property name="password" value="zhangsan" />
    </bean>
</beans>

3.新建MailService.java。内容如下。 

package org.daniel.send;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.util.Assert;

/**
 * 邮件发送服务类。
 * 
 * @author daniel
 * @date 2013-11-20
 * @since 0.1
 * @version 0.1
 */
public class MailService implements InitializingBean {
    private MailSender mailSender;

    public void setMailSender(MailSender mailSender) {
        this.mailSender = mailSender;
    }

    /**
     * 发送邮件
     */
    public void sendEmail() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom("zhangsan@163.com");
        simpleMailMessage.setTo("zhangsan@163.com");
        simpleMailMessage.setSubject("测试 邮件");
        simpleMailMessage.setText("亲爱的先生/女士:\n这是测试邮件,请勿回复!");
        try {
            mailSender.send(simpleMailMessage);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        Assert.notNull(mailSender, "注入mailSender失败");

    }
}

4.编写单元测试类MailServiceTest.java。内容如下。

package org.daniel.send;

import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


/**
 * 邮件发送服务单元测试类。
 * 
 * @author danile
 * @since 0.1
 * @version 0.1
 * 
 */
public class MailServiceTest {
    private static ApplicationContext ctx;

    @BeforeClass
    public static void getCtx() {
        ctx =  new ClassPathXmlApplicationContext("applicationContext.xml");
    }
    @Test
    public void sendEmail() {
        MailService mailService = (MailService) ctx.getBean("mailService");
        mailService.sendEmail();
    }
    
}
原文地址:https://www.cnblogs.com/hntyzgn/p/3434333.html