我正在为发送大量电子邮件的服务实施测试。作为测试工具,我选择了 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,我根本不会收到任何消息。
那么如何获取特定用户的消息呢?