Spring 专题
专题目录
您的位置:java > Spring专题 > Spring在bean配置文件中定义电子邮件模板
Spring在bean配置文件中定义电子邮件模板
作者:--    发布时间:2019-11-20
在上一篇spring电子邮件教程,硬编码的所有电子邮件属性和消息的方法体中的内容,这是不实际的,应予以避免。应该考虑在spring bean 配置文件中定义电子邮件模板。

1.spring的邮件发件人

java类使用 spring的mailsender接口发送电子邮件,并使用 string.format 传递变量bean配置文件替换电子邮件中的 '%s'。

file : mailmail.java

package com.h3.common;

import org.springframework.mail.mailsender;
import org.springframework.mail.simplemailmessage;

public class mailmail
{
	private mailsender mailsender;
	private simplemailmessage simplemailmessage;
	
	public void setsimplemailmessage(simplemailmessage simplemailmessage) {
		this.simplemailmessage = simplemailmessage;
	}

	public void setmailsender(mailsender mailsender) {
		this.mailsender = mailsender;
	}
	
	public void sendmail(string dear, string content) {

	   simplemailmessage message = new simplemailmessage(simplemailmessage);
		
	   message.settext(string.format(
			simplemailmessage.gettext(), dear, content));

	   mailsender.send(message);
		
	}	
}

2. bean的配置文件

定义电子邮件模板“customemailmessage' 和邮件发件人信息的bean配置文件。

file : spring-mail.xml

<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-2.5.xsd">

<bean id="mailsender" class="org.springframework.mail.javamail.javamailsenderimpl">
	<property name="host" value="smtp.gmail.com" />
	<property name="port" value="587" />
	<property name="username" value="username" />
	<property name="password" value="password" />
		
	<property name="javamailproperties">
	     <props>
           	<prop key="mail.smtp.auth">true</prop>
           	<prop key="mail.smtp.starttls.enable">true</prop>
       	     </props>
	</property>
</bean>
	
<bean id="mailmail" class="com.h3.common.mailmail">
	<property name="mailsender" ref="mailsender" />
	<property name="simplemailmessage" ref="customemailmessage" />
</bean>
	
<bean id="customemailmessage"
	class="org.springframework.mail.simplemailmessage">

	<property name="from" value="from@no-spam.com" />
	<property name="to" value="to@no-spam.com" />
	<property name="subject" value="testing subject" />
	<property name="text">
	   <value>
		<![cdata[
			dear %s,
			mail content : %s
		]]>
	   </value>
        </property>
</bean>

</beans>

4. 运行它

package com.h3.common;

import org.springframework.context.applicationcontext;
import org.springframework.context.support.classpathxmlapplicationcontext;

public class app 
{
    public static void main( string[] args )
    {
    	applicationcontext context = 
           new classpathxmlapplicationcontext("applicationcontext.xml");
    	 
    	mailmail mm = (mailmail) context.getbean("mailmail");
        mm.sendmail("h3", "this is text content");
        
    }
}

输出

dear h3,
 mail content : this is text content

代码下载 –  http://pan.baidu.com/s/1c0upsfa

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册