<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Denis's Java Library

    The only documentation is the code itself

    使用Spring郵件發送Email

    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-11-04 16:13 DenisLing 閱讀(520) 評論(0)  編輯  收藏 所屬分類: Spring


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲伊人精品综合在合线| AV免费网址在线观看| 精品国产人成亚洲区| 无遮挡免费一区二区三区| 中文字幕日韩亚洲| 你懂得的在线观看免费视频| 亚洲va国产va天堂va久久| 亚洲黄色片免费看| 亚洲午夜电影在线观看高清| 24小时日本在线www免费的| 亚洲人成网站999久久久综合| 国产成人免费手机在线观看视频| 羞羞网站在线免费观看| 在线日韩日本国产亚洲| 免费在线看黄网站| 亚洲国产精品久久丫| 国产乱子伦片免费观看中字| 黄色视屏在线免费播放| 亚洲AV无码不卡无码| 青青草免费在线视频| 全部在线播放免费毛片| 亚洲AV无码国产精品色午友在线 | jizz免费一区二区三区| 亚洲成Av人片乱码色午夜| 2020因为爱你带字幕免费观看全集| 亚洲中文字幕久久精品无码2021| 日本二区免费一片黄2019| 日本高清免费中文在线看| 亚洲狠狠综合久久| 日韩精品视频免费观看| 久久成人18免费网站| 亚洲无限乱码一二三四区| 日韩免费毛片视频| 成人片黄网站色大片免费观看APP| 亚洲中文字幕无码av在线| 久久久精品国产亚洲成人满18免费网站 | 久久久无码精品亚洲日韩软件| 91精品国产免费入口| 国产区图片区小说区亚洲区| 亚洲国产精品国自产拍电影| 四虎影院永久免费观看|