Package com.icegreen.greenmail.base
Interface GreenMailOperations
-
- All Known Implementing Classes:
ConfiguredGreenMail,GreenMail,GreenMailProxy,GreenMailRule
public interface GreenMailOperationsInterface that contains all operations provided by the Greenmail main class
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ImapServergetImap()ImapServergetImaps()ManagersgetManagers()Pop3ServergetPop3()Pop3ServergetPop3s()jakarta.mail.internet.MimeMessage[]getReceivedMessages()jakarta.mail.internet.MimeMessage[]getReceivedMessagesForDomain(String domain)Gets all messages containing given domain.SmtpServergetSmtp()SmtpServergetSmtps()UserManagergetUserManager()booleanisRunning()Checks if GreenMail is up and running.voidpurgeEmailFromAllMailboxes()Remove/purge all data from all mail stores (POP3/IMAP)voidreset()Restart the GreenMail server.voidsetQuotaSupported(boolean isEnabled)Toggles the IMAP quota support.GreenMailUsersetUser(String login, String password)Sets the password for the account linked to email.GreenMailUsersetUser(String email, String login, String password)Sets the password for the account linked to email.voidsetUsers(Properties users)Sets up accounts with password based on a properties map where the key is the email/login and the value the passwordvoidstart()Start the GreenMail servervoidstop()Stop the GreenMail server.booleanwaitForIncomingEmail(int emailCount)Does the same thing aswaitForIncomingEmail(long, int)but with a default timeout of 5000msbooleanwaitForIncomingEmail(long timeout, int emailCount)Use this method if you are sending email in a different thread from the one you're testing from.GreenMailOperationswithConfiguration(GreenMailConfiguration config)Configure GreenMail instance using the given configuration
-
-
-
Method Detail
-
getSmtp
SmtpServer getSmtp()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getImap
ImapServer getImap()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getPop3
Pop3Server getPop3()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getSmtps
SmtpServer getSmtps()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getImaps
ImapServer getImaps()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getPop3s
Pop3Server getPop3s()
- Returns:
- SMTP server operated by this GreenMail instance or null if there is none
-
getManagers
Managers getManagers()
- Returns:
- Greenmail protocol managers
-
getUserManager
UserManager getUserManager()
- Returns:
- the user manager for
-
waitForIncomingEmail
boolean waitForIncomingEmail(long timeout, int emailCount)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 falseemailCount- waits for these many emails to arrive before returning- Returns:
- Returns false if timeout period was reached, otherwise true.
-
waitForIncomingEmail
boolean waitForIncomingEmail(int emailCount)
Does the same thing aswaitForIncomingEmail(long, int)but with a default timeout of 5000ms- Parameters:
emailCount- waits for these many emails to arrive before returning- Returns:
- Returns false if timeout period was reached, otherwise true.
-
getReceivedMessages
jakarta.mail.internet.MimeMessage[] getReceivedMessages()
- Returns:
- Returns all messages in all folders for all users
GreenMailUtilhas a bunch of static helper methods to extract body text etc.
-
getReceivedMessagesForDomain
jakarta.mail.internet.MimeMessage[] getReceivedMessagesForDomain(String domain)
Gets all messages containing given domain.- Parameters:
domain- the domain, such as 'icegreen.com' or 'some.example.com'- Returns:
- Returns all received messages for given domain.
-
setUser
GreenMailUser setUser(String login, 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:
login- Login for which the password should be set. This is assumed to be the same as the email address.password- New password- Returns:
- the user created
-
setUser
GreenMailUser setUser(String email, String login, 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- Email address for which the password should be setlogin- Login name for login. This may be different to the email address. E.g. the email address could be "info@localhost", the login could be "info".password- New password- Returns:
- the user created
-
setUsers
void setUsers(Properties users)
Sets up accounts with password based on a properties map where the key is the email/login and the value the password- Parameters:
users- User/password map
-
setQuotaSupported
void setQuotaSupported(boolean isEnabled)
Toggles the IMAP quota support. Quotas are enabled by default.- Parameters:
isEnabled- true, if quotas should be supported.
-
withConfiguration
GreenMailOperations withConfiguration(GreenMailConfiguration config)
Configure GreenMail instance using the given configuration- Parameters:
config- Configuration to use- Returns:
- self (for method chaining)
-
start
void start()
Start the GreenMail server
-
stop
void stop()
Stop the GreenMail server. Clear all data (send messages, users, ...).
-
reset
void reset()
Restart the GreenMail server. Clear all data (send messages, users, ...)
-
isRunning
boolean isRunning()
Checks if GreenMail is up and running.- Returns:
- true if ready to serve.
-
purgeEmailFromAllMailboxes
void purgeEmailFromAllMailboxes() throws FolderExceptionRemove/purge all data from all mail stores (POP3/IMAP)- Throws:
FolderException- on error
-
-