老妖的博客
          現實的中沒有幾個人能夠真為對方去死,甚至山盟海誓很快就會在金錢面前變的微不足道,這才是生活。沒有永遠的愛,除了你的父母對你,當然也就沒有永遠的恨,更沒有永遠的痛,時間是最好的治療大師,它會很快撫平你心靈上累累的傷痕。很多年以后你想起來時,那些在你生命中洶涌來往的人群至多是個模糊的影子或者毫無意義的名字
          posts - 105,  comments - 171,  trackbacks - 0
          Spring提供了一個發送電子郵件的高級抽象層,它向用戶屏蔽了底層郵件系統的一些細節,同時負責低層次的代表客戶端的資源處理。Spring郵件抽象層的主要包為org.springframework.mail。它包括了發送電子郵件的主要接口MailSender和 封裝了簡單郵件的屬性如from, to,cc, subject, text的值對象叫做SimpleMailMessage。
          首先:我們定義一個發送郵件的接口:IMailManager.java
          /*
          * IMailManager.java
          * Copyright 2005, All rights reserved.
          */
          package test.mail.manager;

          import test.common.logic.IManager;
          import test.model.Order;

          /**
          * Note:this interface mainly deal with the sendOrder
          */
          public interface IMailManager extends IManager{

          void sendOrder(Order order);
          }

          然后實現這個接口:MailManager.java
          /*
          * MailManager.java
          * Copyright 2005, All rights reserved.
          */
          package test.mail.manager;

          import org.springframework.mail.MailException;
          import org.springframework.mail.MailSender;
          import org.springframework.mail.SimpleMailMessage;

          import test.common.logic.impl.Manager;
          import test.model.Order;

          /**
          * Note:the implements of IMailManager
          */
          public class MailManager extends Manager implements IMailManager {

          private MailSender mailSender;
          private SimpleMailMessage message;

          public void sendOrder(Order order) {
          SimpleMailMessage mailMessage = new SimpleMailMessage(this.message);
          mailMessage.setTo(order.getUser().getEmail());
          mailMessage.setText("Dear"
          + order.getUser().getFirstName()
          + order.getUser().getLastName()
          + ", thank you for placing order. Your order code is "
          + order.getCode());
          try{
          mailSender.send(mailMessage);
          }catch(MailException ex) {
          System.err.println(ex.getMessage());
          }

          }

          /**
          * @param mailSender The mailSender to set.
          */
          public void setMailSender(MailSender mailSender) {
          this.mailSender = mailSender;
          }
          /**
          * @param message The message to set.
          */
          public void setMessage(SimpleMailMessage message) {
          this.message = message;
          }
          }

          然后我們在Action 里面調用: SendMailAction.java
          /*
          * SendMail.java
          * Copyright 2005, All rights reserved.
          */
          package test.mail.action;

          import test.common.action.BaseAction;
          import test.mail.manager.IMailManager;
          import test.order.dao.IOrderDao;
          import test.model.Order;


          /**
          * Note: SendMailAction
          */
          public class SendMailAction extends BaseAction {
          private IMailManager mailManager;
          private IOrderDao orderDao;
          private long orderId;

          public String execute() throws Exception {
          Order order = orderDao.getOrder(orderId);
          mailManager.sendOrder(order);
          return SUCCESS;
          }


          /**
          * @return Returns the mailManager.
          */
          public IMailManager getMailManager() {
          return mailManager;
          }
          /**
          * @param mailManager The mailManager to set.
          */
          public void setMailManager(IMailManager mailManager) {
          this.mailManager = mailManager;
          }

          /**
          * @return Returns the orderDao.
          */
          public IOrderDao getOrderDao() {
          return orderDao;
          }
          /**
          * @param orderDao The orderDao to set.
          */
          public void setOrderDao(IOrderDao orderDao) {
          this.orderDao = orderDao;
          }
          /**
          * @return Returns the orderId.
          */
          public long getOrderId() {
          return orderId;
          }
          /**
          * @param orderId The orderId to set.
          */
          public void setOrderId(long orderId) {
          this.orderId = orderId;
          }
          }

          最后的就是配置了.在ApplicationContext.xml文件里加上如下的內容:
          <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
          <property name="host"><value>smtp服務器</value></property>
          <property name="username"><value>用戶名</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>你的電子郵件地址</value>
          </property>
          <property name="subject">
          <value>郵件標題</value>
          </property>
          </bean>


          <bean id="mailManager" class=" test.mail.manager.MailManager" >
          <property name="mailSender">
          <ref bean="mailSender" />
          </property>
          <property name="message">
          <ref bean="mailMessage" />
          </property>
          </bean>
          在對應的action配置文件中加入:
          <bean id="SendMailAction"
          class=" test.mail.action.SendMailAction" singleton="false" >
          <property name="mailManager">
          <ref bean="mailManager" />
          </property>
          <property name="orderDao">
          <ref bean="orderDao"/>
          </property>
          </bean>

          在xwork配置文件中:
          <action name="sendMailBG" class="SendMailAction">
          <interceptor-ref name="defaultStack" />
          <result name="success" type="freemarker">success.ftl</result>
          <result name="error" type="freemarker">error.ftl</result>
          </action>

          posted on 2005-10-29 20:58 老妖 閱讀(3692) 評論(0)  編輯  收藏 所屬分類: spring

          <2005年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          隨筆分類(48)

          隨筆檔案(104)

          好友鏈接

          我的豆瓣

          積分與排名

          • 積分 - 221198
          • 排名 - 257

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 凤阳县| 黑龙江省| 深圳市| 临西县| 香格里拉县| 舞阳县| 小金县| 娱乐| 平陆县| 霍州市| 和林格尔县| 连州市| 青海省| 大理市| 永兴县| 潜山县| 宣武区| 巴中市| 凤城市| 靖远县| 博野县| 西乡县| 海城市| 巴中市| 宁蒗| 永春县| 施秉县| 伊宁县| 台前县| 桃源县| 弥渡县| 阿尔山市| 宜黄县| 广南县| 桃园县| 西贡区| 阿勒泰市| 哈巴河县| 中山市| 梧州市| 浦北县|