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

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

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

    閔毓
    http://www.eshoo.com.cn 歡迎來到異客中國
    posts - 49,comments - 97,trackbacks - 0
    Spring提供了一個發(fā)送電子郵件的高級抽象層,它向用戶屏蔽了底層郵件系統(tǒng)的一些細節(jié),同時負責低層次的代表客戶端的資源處理。Spring郵件抽象層的主要包為org.springframework.mail。它包括了發(fā)送電子郵件的主要接口MailSender和 封裝了簡單郵件的屬性如from, to,cc, subject, text的值對象叫做SimpleMailMessage。
    1、我們定義一個發(fā)送郵件的接口:OrderManager.java
    1?public?interface?OrderManager?extends?BaseManager{
    2?/**
    3?*email,要發(fā)送的郵件地址;
    4?*Code:激活碼
    5?*/
    6??????public?void?placeOrder(String?email);
    7?}

    2、我們需要對該接口進行實現(xiàn)的方法:OrderManagerImpl.java

    ?1?import?javax.mail.Message;
    ?2?import?javax.mail.MessagingException;
    ?3?import?javax.mail.internet.InternetAddress;
    ?4?import?javax.mail.internet.MimeMessage;
    ?5?import?org.springframework.mail.MailException;
    ?6?import?org.springframework.mail.javamail.JavaMailSender;
    ?7?import?org.springframework.mail.javamail.MimeMessagePreparator;
    ?8?import?service.OrderManager;
    ?9??
    11?public?class?OrderManagerImpl?extends?BaseManagerImpl?implements?OrderManager?{
    12?
    13?private?JavaMailSender?mailsender;
    14?private?MyMailMessage?message;
    15?
    16?
    17?????public?void?setMessage(CityMailMessage?message)
    18?????{
    19?????????this.message?=?message;
    20?????}
    21?????public?void?setMailsender(JavaMailSender?mailsender)?{
    22?????????this.mailsender?=?mailsender;
    23?????}
    24?????public?void?placeOrder(final?String?email)?{
    25?????????
    26?
    27?????????MimeMessagePreparator?preparator?=?new?MimeMessagePreparator()?{
    28?????????????public?void?prepare(MimeMessage?mimeMessage)?throws?MessagingException?{
    29?????????????????mimeMessage.setRecipient(Message.RecipientType.TO,?
    30?????????????????????????new?InternetAddress(email));
    31?????????????????mimeMessage.setFrom(new?InternetAddress(message.getFrom()));
    32?????????????????/**轉(zhuǎn)換編碼為GBK*/
    33?????????????????mimeMessage.setSubject(message.getSubject(),"GBK");
    36?????????????????mimeMessage.setText(email+"<br>"+message.getSubject()+message.getText(),"GBK");
    37?????????????????
    38?????????????}
    39?????????};
    40?????????try{
    41?????????????mailsender.send(preparator);
    42?????????}
    43?????????catch(MailException?ex)?{
    44?????????????//log?it?and?go?on
    45?????????????System.err.println(ex.getMessage());????????????
    46?????????}
    47?????}
    48?}

    3、spring配置發(fā)送email的applicationContext-email.xml

    ?1?<?xml?version="1.0"?encoding="UTF-8"?>
    ?2?<!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"
    ?3?????"http://www.springframework.org/dtd/spring-beans.dtd">
    ?4?
    ?5?<beans>
    ?6?????<bean?id="mailSender"?class="org.springframework.mail.javamail.JavaMailSenderImpl">
    ?7?????????<property?name="host">
    ?8?????????????<value>smtp.163.com</value>
    ?9?????????</property>
    10?????????<property?name="username">
    11?????????????<value>username</value>
    12?????????</property>
    13?????????<property?name="password">
    14?????????????<value>password</value>
    15?????????</property>
    16?????????<property?name="javaMailProperties">
    17?????????????<props>
    18?????????????????<prop?key="mail.smtp.auth">true</prop>
    19?????????????????<prop?key="mail.smtp.timeout">25000</prop>
    20?????????????</props>
    21?????????</property>
    22?????</bean>
    23?
    24?????<bean?id="mailMessage"?class="org.springframework.mail.SimpleMailMessage">
    25?????????<property?name="from">
    26?????????????<value>Email</value>
    27?????????</property>
    28?????????<property?name="subject">
    29?????????????<value>標題</value>
    30?????????</property>
    31?????????<property?name="text">
    32?????????????<value>內(nèi)容</value>
    33?????????</property>
    46?????</bean>
    47?
    48?????<bean?id="orderManager"?class="cn.cityyouth.service.impl.OrderManagerImpl">
    49?????????<property?name="mailsender">
    50?????????????<ref?bean="mailSender"?/>
    51?????????</property>
    52?????????<property?name="message">
    53?????????????<ref?bean="mailMessage"?/>
    54?????????</property>
    55?????</bean>
    56?
    57?</beans>

    4、最后配置自己的jsp頁面以及action

    ?1?package?cn.cityyouth.web.action;
    ?2?
    ?3?import?javax.servlet.http.HttpServletRequest;
    ?4?import?javax.servlet.http.HttpServletResponse;
    ?5?import?org.apache.struts.action.ActionForm;
    ?6?import?org.apache.struts.action.ActionForward;
    ?7?import?org.apache.struts.action.ActionMapping;
    ?8?import?org.apache.struts.action.ActionMessage;
    ?9?import?org.apache.struts.action.ActionMessages;
    10?import?com.test.service.OrderManager;
    11?
    12?public?class?SendMailAction?extends?BaseAction?{
    13?
    14?????/**
    15??????*?Method?execute
    16??????*?
    17??????*?@param?mapping
    18??????*?@param?form
    19??????*?@param?request
    20??????*?@param?response
    21??????*?@return?ActionForward
    22??????*/
    23?????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,
    24?????????????HttpServletRequest?request,?HttpServletResponse?response)?{
    25?????????OrderManager?omi=(OrderManager)this.getBean("orderManager");
    26?????????String?useremail="123@163.com";
    27??????????omi.placeOrder(useremail);
    28????????}
    29?}

    到此所有的開發(fā)以結(jié)束。

    Sring郵件抽象層的主要包是:org.springframework.mail 包。它包含叫MailSender為發(fā)送郵件的核心接口和包含簡單郵件屬性例如from,to,cc,subject,text叫SimpleMailMessage的值對象. 這個包也包含一個檢查異常的層次,它支持一個更高級別的抽象超過低級別的郵件系統(tǒng)異常伴隨根異常存在MailException. 請參考JavaDocs為更多的信息雜郵件異常層次。

    spring in action in action also provides a sub-interface of MailSender for specialized JavaMail features such as MIME messages, namely org.springframework.mail.javamail.JavaMailSender It also provides a callback interface for preparation of JavaMail MIME messages, namely org.springframework.mail.javamail.MimeMessagePreparator

    Spring也支持一個MailSender的專用于JavaMail特征例如MIME消息子接口,命名為org.springframework.javamail.JavaMailerSener。它也支持一個為JavaMail MIME信息的準備回調(diào)接口,命名為org.springframework.mail.JavaMail.MimeMessagePreparator.

    posted on 2005-12-30 12:49 閔毓 閱讀(2203) 評論(2)  編輯  收藏 所屬分類: Spring in action

    FeedBack:
    # re: 使用Spring郵件抽象層發(fā)送簡單郵件(通過自己編寫,更新后發(fā)布)1
    2005-12-31 09:16 | zhangwen
    spring的郵件支持不是太好,發(fā)信時如果smtp服務(wù)器要身份驗證的話就很麻煩,還要自己寫個java mail properties.apache common email做的很好~不過中文支持有些問題  回復  更多評論
      
    # re: 使用Spring郵件抽象層發(fā)送簡單郵件(通過自己編寫,更新后發(fā)布)1
    2012-08-28 14:16 | 44
    rrrrrrrrrrrrrr  回復  更多評論
      
    主站蜘蛛池模板: 亚洲AV成人一区二区三区观看| xxxx日本在线播放免费不卡| 可以免费观看一级毛片黄a| 免费无遮挡无遮羞在线看| 亚洲第一AAAAA片| 好先生在线观看免费播放| 一级成人生活片免费看| 亚洲成aⅴ人在线观看| 又黄又爽无遮挡免费视频| 午夜无码A级毛片免费视频| 亚洲熟妇AV一区二区三区宅男| 久久99亚洲综合精品首页| 1区2区3区产品乱码免费| 色噜噜的亚洲男人的天堂| 亚洲图片一区二区| 四虎精品亚洲一区二区三区| 久久成人免费电影| 野花视频在线官网免费1| 97se亚洲综合在线| 国产成人精品亚洲精品| 色妞WWW精品免费视频| 日本免费一区二区三区| 一级毛片免费播放男男| 亚洲色成人WWW永久在线观看| 亚洲欧洲国产精品你懂的| 亚洲国产精品狼友中文久久久| 久久精品免费一区二区喷潮| 91在线免费视频| 色网站在线免费观看| 亚洲色在线无码国产精品不卡| 亚洲一级二级三级不卡| 国产精品亚洲不卡一区二区三区| A级毛片内射免费视频| 中文字幕免费视频| 成全动漫视频在线观看免费高清版下载| 亚洲AV无码一区二区三区久久精品| 4444亚洲国产成人精品| 国产亚洲成av人片在线观看| 免费一级毛片不卡在线播放 | 特级淫片国产免费高清视频| 91精品导航在线网址免费|