public void testSendMail() throws Exception {
    ByteArrayOutputStream baos = new ByteArrayOutputStream(128);
    String responses = "220\n250\n250\n250\n354\n250\n";
    ByteArrayInputStream bais = new ByteArrayInputStream(responses.getBytes());
    BufferedReader rdr = new BufferedReader(new InputStreamReader(bais));
    mailer.useTestStreams(new PrintWriter(baos), rdr);

    assertTrue(
        mailer.doSMTP(
            "*****@*****.**",
            "*****@*****.**",
            "test subject",
            "test message",
            "testHost",
            25,
            "localName"));
    String expectedMessage =
        "HELO localName\r\n"
            + "MAIL FROM: <*****@*****.**>\r\n"
            + "RCPT TO: <*****@*****.**>\r\n"
            + "DATA\r\n"
            + "From: [email protected]\r\n"
            + "To: [email protected]\r\n"
            + "Subject: test subject\r\n"
            + "X-Mailer: Smtp Mailer\r\n"
            + "\r\n"
            + "test message\r\n"
            + ".\r\n"
            + "QUIT\r\n";
    assertEquals(expectedMessage, baos.toString());
  }
  public void testCheckReply() {
    String responses = "220\n250\n354\n";
    ByteArrayInputStream bais = new ByteArrayInputStream(responses.getBytes());
    BufferedReader rdr = new BufferedReader(new InputStreamReader(bais));
    mailer.useTestStreams(null, rdr);

    assertTrue(mailer.checkReply("220"));
    System.err.println("Ignore the following error: ");
    assertFalse(mailer.checkReply("220"));
    assertTrue(mailer.checkReply("354"));
  }