blogjava's web log

          blogjava's web log
          ...

          [推薦]系統(tǒng)發(fā)郵件測試 Dumbster

          ? 當(dāng)我們系統(tǒng)要用Junit 測試批量發(fā)郵件功能的時候,
          既要測試 這功能是否正常。
          但又不能真正意義上的把郵件發(fā)出去。

          要不你在測試的時候 那么多垃圾郵件給用戶 用戶肯定要煩惱了。



          問題解決:


          在這里 http://quintanasoft.com/dumbster/? 有個專門 測試 發(fā)Email 開源類庫。

          詳細(xì)說明點(diǎn)擊該網(wǎng)站查看。

          一個示例


          package?com.dumbster.mytest;

          import?junit.framework.TestCase;

          import?com.dumbster.smtp.*;

          import?junit.framework.TestCase;
          import?javax.mail.Session;
          import?javax.mail.Message;
          import?javax.mail.Transport;
          import?javax.mail.MessagingException;
          import?javax.mail.internet.MimeMessage;
          import?javax.mail.internet.InternetAddress;
          import?java.util.Properties;
          import?java.util.Date;
          import?java.util.Iterator;
          import?java.util.*;

          /**
          ?*?
          @author?junmy
          ?*
          ?
          */


          public?class?SmtpServerTest?extends?TestCase?{
          ?????
          private?SimpleSmtpServer?server;
          ?????
          private?static?final?int?SMTP_PORT=1082;
          ????????
          public?SmtpServerTest(String?s)
          ????????
          {
          ????????????
          super(s);
          ????????}

          ????????
          ????????
          protected?void?setUp()?throws?Exception
          ????????
          {
          ????????????
          super.setUp();
          ????????
          ????????????server
          =SimpleSmtpServer.start(SMTP_PORT);
          ????????}

          ????????
          ????????
          protected?void?tearDown()?throws?Exception
          ????????
          {
          ????????????
          super.tearDown();
          ????????????????server.stop();
          ????????}

          ????????
          ????????
          public?void?testSendBacthMail()
          ????????
          {
          ??????????????String?From?
          =?"sender@here.com";
          ??????????????String?Subject?
          =?"Test";
          ??????????????String?body?
          =?"Test?Body";

          ????????????
          //TODO:
          ????????????
          //??dal.BacthMail()
          ????????????
          //得到后臺數(shù)據(jù)庫中所有用戶得email
          ??????????????
          ????????????List
          <String>?list=new?ArrayList<String>();
          ????
          ????????????
          //list=dal.BacthMail();
          ????????????Properties?mailProps?=?new?Properties();
          ????????????mailProps.setProperty(
          "mail.smtp.host",?"localhost");
          ????????????mailProps.setProperty(
          "mail.smtp.port",?""?+?SMTP_PORT);
          ????????????mailProps.setProperty(
          "mail.smtp.sendpartial",?"true");
          ????????????Session?session?
          =?Session.getInstance(mailProps,?null);
          ????????????
          ????????????
          for(String?strto:list)
          ????????????
          {
          ????????????????
          try
          ????????????????
          {
          ??????????????????MimeMessage?msg?
          =?new?MimeMessage(session);
          ????????????????????msg.setFrom(
          new?InternetAddress(From));
          ????????????????????msg.setSubject(Subject);
          ????????????????????msg.setSentDate(
          new?Date());
          ????????????????????msg.setText(body);
          ????????????????????System.out.println(
          "emailList:"+strto);
          ????????????????????msg.setRecipient(Message.RecipientType.TO,?
          new?InternetAddress(strto));
          ????????????????????Transport.send(msg);
          ????????????????}

          ????????????????
          catch?(MessagingException?e)?{
          ????????????????????
          //?TODO?自動生成?catch?塊
          ????????????????????e.printStackTrace();
          ????????????????????fail(
          "Exception:"+e);
          ????????????????}
          ????????
          ????????????}

          ????????????assertEquals(list.size(),?server.getReceivedEmailSize());
          ??????????
          ????????????Iterator?emailIter?
          =?server.getReceivedEmail();
          ????????????
          for(int?i=0;i<server.getReceivedEmailSize();i++)
          ????????????
          {
          ????????????????SmtpMessage?email?
          =?(SmtpMessage)?emailIter.next();
          ????????????????assertEquals(body,email.getBody());
          ????????????????assertEquals(Subject,email.getHeaderValue(
          "Subject"));
          ????????????????assertEquals(list.get(i),email.getHeaderValue(
          "To"));
          ????????????}

          ????????????
          ????????????
          ????????}
          ????????

          }

          詳細(xì)說明請下載源代碼查閱
          http://quintanasoft.com/dumbster/
          ? http://sourceforge.net/projects/dumbster

          Dot Net 版本

          ?http://ndumbster.sourceforge.net/

          dot net 下示例

          Nunit Test Batch Email


          希望對你有用!

          posted on 2006-10-30 12:57 record java and net 閱讀(1338) 評論(1)  編輯  收藏 所屬分類: java

          評論

          # re: [推薦]系統(tǒng)發(fā)郵件測試 Dumbster 2006-10-31 10:13 inlife.cn

          頂一個。歡迎 北京的朋友訪問 http://www.inlife.cn
            回復(fù)  更多評論   

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動態(tài)語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評論

          主站蜘蛛池模板: 九寨沟县| 靖边县| 广饶县| 巨野县| 富阳市| 莱州市| 博兴县| 慈溪市| 长泰县| 田林县| 台中市| 托里县| 高台县| 安塞县| 九龙县| 石棉县| 石狮市| 龙海市| 南皮县| 阿勒泰市| 龙山县| 漳浦县| 榆中县| 厦门市| 泾源县| 来宾市| 耿马| 荥阳市| 什邡市| 红河县| 葵青区| 疏附县| 邢台市| 定边县| 和林格尔县| 广元市| 五指山市| 合江县| 沂南县| 临朐县| 仁化县|