1.首先必须要有spring.jar, mail.jar, commons-logging.jar, activation.jar这些jar包

2.其次applicationContext.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host">
   <value>smtp.163.com</value>
  </property>
  <property name="username">
   <value>[email protected]</value>
  </property>
  <property name="password">
   <value>******</value>
  </property>
  <property name="javaMailProperties">
   <props>
    <prop key="mail.smtp.auth">true</prop>
    <prop key="mail.smtp.timeout">25000</prop>
   </props>
  </property>
 </bean>

 <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
  <property name="from">
   <value>[email protected]</value>
  </property>
  <property name="to">
   <value>[email protected]</value>
  </property>
  <property name="subject">
   <value>标题</value>
  </property>
  <property name="text">
   <value>内容</value>
  </property>
 </bean>

 <bean id="orderManager" class="OrderManagerImp">
  <property name="mailsender">
   <ref bean="mailSender" />
  </property>
  <property name="message">
   <ref bean="mailMessage" />
  </property>
 </bean>
</beans>

3.OrderManagerImpl代码如下:
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;

public class OrderManagerImpl{
 private JavaMailSender mailsender;
 private SimpleMailMessage message;

 public void setMessage(SimpleMailMessage message) {
  this.message = message;
 }

 public void setMailsender(JavaMailSender mailsender) {
  this.mailsender = mailsender;
 }

 public void placeOrder() {
  try {
   mailsender.send(message);
  } catch (MailException ex) {
   System.err.println(ex.getMessage());
  }
 }
}

4.SpringMailTest文件代码如下:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringMailTest {

 public static void main(String[] args) {
  ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContext.xml");
  OrderManager mail = (OrderManager) bf.getBean("orderManager");
  mail.placeOrder();
 }
}


5.最后要把杀毒软件和防火墙关掉才能正常发送邮件(我的机子要把McAfee的“访问保护”关掉)



久久不醉