Spring邮件服务:Maven + Spring SMTP Mail

1  spring-smtp-mail.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"
       xsi:schemaLocation="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="*******@163.com" />
        <!--  密码   -->
        <property name="password" value="*****" />
        <!-- SMTP服务器验证 -->
        <property name="javaMailProperties">
            <props>
                <!-- 验证身份 -->
                <prop key="mail.smtp.auth">true</prop>
            </props>
        </property>
    </bean>
    <!--
       目前我用过的EMAIL账号都是网易的,下面列出网易的SMTP服务器名和端口号:
        网易邮箱          SMTP服务器     SMTP端口     POP3服务器       POP3端口
        @126.com     smtp.126.com      25          pop3.126.com      110
        @163.com     smtp.163.com      25          pop3.163.com      110
        @yeah.net    smtp.yeah.net      25          pop3.yeah.net     110
    -->

    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
        <!-- 发件人email -->
        <property name="from" value="******@163.com" />
        <!--
         收件人email
        <property name="to" value="[email protected]" />
        email主题(标题)
        <property name="subject" value="Subject" />
        email主题内容
        <property name="text">
          <value>ContentText</value>
        </property>
        -->
    </bean>

    <bean id="simpleMail" class="com.richard.config.mailConfig">
        <property name="mailSender" ref="mailSender" />
        <property name="simpleMailMessage" ref="simpleMailMessage" />
    </bean>

</beans>

  2  mailConfig 类

public class mailConfig {
	private MailSender mailSender;
	private SimpleMailMessage simpleMailMessage;
	
	/**
	 * @方法名: sendMail
	 * @参数名:@param subject  邮件主题
	 * @参数名:@param content 邮件主题内容
	 * @参数名:@param to         收件人Email地址
	 * @描述语: 发送邮件
	 */
	public void sendMail(String subject, String content, String to) {
		simpleMailMessage.setSubject(subject); //设置邮件主题
		simpleMailMessage.setTo(to);             //设定收件人
		simpleMailMessage.setText(content);  //设置邮件主题内容
		mailSender.send(simpleMailMessage); //发送邮件
	}
	//Spring 依赖注入
	public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
		this.simpleMailMessage = simpleMailMessage;
	}
	//Spring 依赖注入
	public void setMailSender(MailSender mailSender) {
		this.mailSender = mailSender;
	}
}

  3 test 类

@Test
public void sendEmail(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring-smtp-mail.xml");
mailConfig mail = (mailConfig)context.getBean("simpleMail");
mail.sendMail("Spring SMTP Mail Subject", "Spring SMTP Mail Text", "*******@qq.com");
//mail.sendMail("标题", "内容", "收件人邮箱");
}

猜你喜欢

转载自www.cnblogs.com/yachao1120/p/11784358.html
今日推荐