/** * Create a {@link ImapServer} from current data. * * @return {@link ImapServer} from current data. */ public ImapServer buildImapMailServer() { if (ssl) { return new ImapSslServer(this); } return new ImapServer(this); }
@Override protected Properties createSessionProperties() { final Properties props = super.createSessionProperties(); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_PORT, String.valueOf(port)); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_CLASS, "javax.net.ssl.SSLSocketFactory"); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_FALLBACK, StringPool.FALSE); return props; }
@Test @Disabled("Requires Gmail") void testGoogle_receiveUnseen() { ImapServer imapServer = MailServer.create() .host("imap.gmail.com") .port(993) .ssl(true) .auth("gmail_username", "gmail_password") .buildImapMailServer(); ReceiveMailSession session = imapServer.createSession(); session.open(); ReceivedEmail[] mails = session.receive() .filter(filter().flag(Flags.Flag.SEEN, false)) .unmark(Flags.Flag.SEEN) .fromFolder("INBOX") .get(); System.out.println(mails.length); Arrays.stream(mails).map(CommonEmail::subject).forEach(System.out::println); session.close(); } }
.buildImapMailServer(); final ReceiveMailSession session = imapServer.createSession(); .buildImapMailServer(); final ReceiveMailSession session = imapServer.createSession();
/** * {@inheritDoc} * * @return {@link ReceiveMailSession} */ @Override public ReceiveMailSession createSession() { return EmailUtil.createSession( PROTOCOL_IMAP, createSessionProperties(), authenticator, attachmentStorage); }
/** * Create a {@link ImapServer} from current data. * * @return {@link ImapServer} from current data. */ public ImapServer buildImapMailServer() { if (ssl) { return new ImapSslServer(this); } return new ImapServer(this); }
.buildImapMailServer(); final ReceiveMailSession session = imapServer.createSession(); .buildImapMailServer(); final ReceiveMailSession session = imapServer.createSession();
@Override protected Properties createSessionProperties() { final Properties props = super.createSessionProperties(); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_PORT, String.valueOf(port)); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_CLASS, "javax.net.ssl.SSLSocketFactory"); props.setProperty(MAIL_IMAP_SOCKET_FACTORY_FALLBACK, StringPool.FALSE); return props; }
/** * {@inheritDoc} * * @return {@link ReceiveMailSession} */ @Override public ReceiveMailSession createSession() { return EmailUtil.createSession( PROTOCOL_IMAP, createSessionProperties(), authenticator, attachmentStorage); }