Тестирование электронной почты Java Spring с GreenMail
Я внедряю тесты для сервиса, который отправляет много писем. В качестве инструмента тестирования я выбрал GreenMail.
Я делаю как
@Rule
public GreenMailRule mail = new GreenMailRule(ServerSetupTest.SMTP);
@Autowired
MailService mailService;
@Before
public void setUp() {
mail.setUser("recipient1@email.com", "recipient1@email.com", "password");
mail.setUser("recipient2@email.com", "recipient2@email.com", "password").create();
mail.setUser("sender@email.com", "sender@email.com", "p").create();
mail.start();
}
@Test
public void test() {
// sends mail from sender@email.com to recipient1 and recipient2 using cc
mailService.send();
mail.setUser("recipient1@email.com", "password");
assertEquals(1, mail.getReceivedMessages().length);
}
Однако я получил 2 сообщения - для обоих получателей. Я думаю, что причина в том, что smtp основан для публикации, а не чтения. Однако, если использовать POP3, я не получаю сообщений вообще.
Итак, как я могу получить сообщения для конкретного пользователя?