1:加载mail.properties里面有发送邮件必要的参数

  <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:/mail.properties</value>
            </list>
        </property>
    </bean>

2:mail.properties文件

mail.from=******@qq.com
mail.password=*******
mail.username=******@qq.com
mail.host=smtp.qq.com
mail.to=发送给谁
mail.subject=发送的主题
mail.text=内容(可通过Velocity扩展)

3:在Spring主配置文件中初始化三个类,发送邮件用

<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
      <property name="from">
         <value><![CDATA[hz<${mail.from}>]]></value>
      </property>
      <!--  <property name="to" value="${mail.to}" /> -->
      <property name="subject" value="${mail.subject}"></property>
      <!--  <property name="text" value="${mail.text}"></property>  -->
   </bean>
   
    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="defaultEncoding" value="UTF-8" />
        <property name="host" value="${mail.host}" />
        <property name="username" value="${mail.username}" />
        <property name="password" value="${mail.password}" />
        <property name="javaMailProperties">
           <props>
              <prop key="mail.smtp.auth">true</prop>
              <prop key="mail.debug">true</prop>
           </props>
       </property>
     </bean>
    
     <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
         <property name="velocityProperties">
           <props>
               <prop key="resource.loader">class</prop>
               <prop key="class.resource.loader.class">
                   org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
               </prop>
               <prop key="velocimacro.library"></prop>
               <prop key="input.encoding">UTF-8</prop>
               <prop key="output.encoding">UTF-8</prop>
               <prop key="default.contentType">
                  text/html; charset=UTF-8
               </prop>
           </props>
        </property>       
     </bean>

4:SendMail.java类

JavaMailSenderImpl mailSender = applicationContext.getBean("mailSender");
SimpleMailMessage mailMessage = applicationContext.getBean("mailMessage");
VelocityEngine velocityEngine = applicationContext.getBean("velocityEngine");

String result = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "accountCreated.vm", model);
mailMessage.setTo(model.get("mailto").toString());
mailMessage.setText(result);
mailSender.send(mailMessage);

5:accountCreated.vm文件放在classpath下

6:测试

SendMail sendMail = new SendMail();
Map mapModel = new HashMap();
mapModel.put("mailto", "发送给谁");
mapModel.put("message", "********");
mapModel.put("username", "********");
mapModel.put("password", "********");
mapModel.put("other", "**********");
sendMail.sendMail(mapModel);

7:mailto,message,username,password,other,参数在accountCreated.vm中可以${message}取值....