[推薦]系統(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
希望對你有用!
既要測試 這功能是否正常。
但又不能真正意義上的把郵件發(fā)出去。
要不你在測試的時候 那么多垃圾郵件給用戶 用戶肯定要煩惱了。
問題解決:
在這里 http://quintanasoft.com/dumbster/? 有個專門 測試 發(fā)Email 開源類庫。
詳細(xì)說明點(diǎn)擊該網(wǎng)站查看。
一個示例
package?com.dumbster.mytest;


































































































詳細(xì)說明請下載源代碼查閱
http://quintanasoft.com/dumbster/
? http://sourceforge.net/projects/dumbster
Dot Net 版本
?http://ndumbster.sourceforge.net/
dot net 下示例

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