@Given("^\"([^\"]*)\" receives a SMTP message specified in file \"([^\"]*)\" as message \"([^\"]*)\"$") public void smtpSend(String user, String fileName, String messageName) throws Exception { MailboxId mailboxId = mainStepdefs.mailboxProbe.getMailboxId(MailboxConstants.USER_NAMESPACE, user, INBOX); SMTPMessageSender smtpMessageSender = new SMTPMessageSender("domain.com"); smtpMessageSender .connect("127.0.0.1", mainStepdefs.jmapServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()) .sendMessageWithHeaders("from@domain.com", user, ClassLoaderUtils.getSystemResourceAsString(fileName)); smtpMessageSender.close(); TestingConstants.calmlyAwait.until(() -> !retrieveIds(user, mailboxId).isEmpty()); List<String> ids = retrieveIds(user, mailboxId); messageIdStepdefs.addMessageId(messageName, mainStepdefs.messageIdFactory.fromString(ids.get(0))); }