差異處
這裏顯示兩個版本的差異處。
java:subethamail:a_simple_way_to_test_mail_sender [2016/08/25 17:36] tony 建立 |
java:subethamail:a_simple_way_to_test_mail_sender [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java}} | ||
- | ====== subethamail - a simple way to test mail sender ====== | ||
- | ===== How to? ===== | ||
- | <code java> | ||
- | private SMTPServer server; | ||
- | private List<String> toList = new ArrayList<>(); | ||
- | private String testContent; | ||
- | |||
- | @Before | ||
- | public void setUp() throws Exception { | ||
- | try { | ||
- | server = new SMTPServer(new SimpleMessageListenerAdapter(new SimpleMessageListener() { | ||
- | |||
- | @Override | ||
- | public void deliver(String from, String to, InputStream content) | ||
- | throws TooMuchDataException, IOException { | ||
- | logger.info("deliver {}", from); | ||
- | logger.info("deliver {}", to); | ||
- | toList.add(to); | ||
- | testContent = IOUtils.toString(content); | ||
- | } | ||
- | |||
- | @Override | ||
- | public boolean accept(String from, String to) { | ||
- | logger.info("accept {}", from); | ||
- | logger.info("accept {}", to); | ||
- | return true; | ||
- | } | ||
- | })); | ||
- | server.setBindAddress(InetAddress.getByName("0.0.0.0")); | ||
- | server.setPort(25); | ||
- | |||
- | server.start(); | ||
- | System.out.println("Start SMTP Server"); | ||
- | } catch (Exception e) { | ||
- | // Ignore | ||
- | } | ||
- | |||
- | } | ||
- | |||
- | @After | ||
- | public void tearDown() throws Exception { | ||
- | if (server !=null) | ||
- | server.stop(); | ||
- | } | ||
- | |||
- | @Test | ||
- | public void test() { | ||
- | // do something | ||
- | |||
- | assertEquals(2, toList.size()); | ||
- | assertTrue(toList.contains("test1@tonylin.org.tw")); | ||
- | assertTrue(toList.contains("test2@tonylin.org.tw")); | ||
- | assertTrue(testContent.contains("test message")); | ||
- | } | ||
- | </code> | ||
- | |||
- | |||