Class GreenMail

  • Direct Known Subclasses:
    Servers

    public class GreenMail
    extends java.lang.Object
    Since:
    Jan 28, 2006
    Version:
    $Id: $
    Author:
    Wael Chatila
    • Constructor Detail

      • GreenMail

        public GreenMail()
        Creates a SMTP, SMTPS, POP3, POP3S, IMAP, and IMAPS server binding onto non-default ports. The ports numbers are defined in ServerSetupTest
      • GreenMail

        public GreenMail​(ServerSetup config)
        Call this constructor if you want to run one of the email servers only
        Parameters:
        config -
      • GreenMail

        public GreenMail​(ServerSetup[] config)
        Call this constructor if you want to run more than one of the email servers
        Parameters:
        config -
    • Method Detail

      • start

        public void start()
      • stop

        public void stop()
      • getManagers

        public Managers getManagers()
      • waitForIncomingEmail

        public boolean waitForIncomingEmail​(long timeout,
                                            int emailCount)
                                     throws java.lang.InterruptedException
        Use this method if you are sending email in a different thread from the one you're testing from. Block waits for an email to arrive in any mailbox for any user. Implementation Detail: No polling wait implementation
        Parameters:
        timeout - maximum time in ms to wait for emailCount of messages to arrive before giving up and returning false
        emailCount - waits for these many emails to arrive before returning
        Returns:
        Returns false if timeout period was reached, otherwise true.
        Throws:
        java.lang.InterruptedException
      • waitForIncomingEmail

        public boolean waitForIncomingEmail​(int emailCount)
                                     throws java.lang.InterruptedException
        Does the same thing as Object.wait(long, int) but with a timeout of 5000ms
        Parameters:
        emailCount -
        Returns:
        Throws:
        java.lang.InterruptedException
      • getReceivedMessages

        public javax.mail.internet.MimeMessage[] getReceivedMessages()
        Returns:
        Returns all messags in all folders for all users GreenMailUtil has a bunch of static helper methods to extract body text etc.
      • setUser

        public GreenMailUser setUser​(java.lang.String email,
                                     java.lang.String password)
        Sets the password for the account linked to email. If no account exits, one is automatically created when an email is received The automatically created account has the account login and password equal to the email address.
        Parameters:
        email -
        password -
      • setUser

        public GreenMailUser setUser​(java.lang.String email,
                                     java.lang.String login,
                                     java.lang.String password)
      • setUsers

        public void setUsers​(java.util.Properties users)
        Sets up accounts with password based on a properties map where the key is the email and the value the password
        Parameters:
        users -