Package com.icegreen.greenmail.imap
Interface ImapSession
- All Known Implementing Classes:
ImapSessionImpl
public interface ImapSession
Encapsulates all state held for an ongoing Imap session,
which commences when a client first establishes a connection to the Imap
server, and continues until that connection is closed.
- Version:
- $Revision: 109034 $
- Author:
- Darrell DeBoer <darrell@apache.org>
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Closes the connection for this session.void
closeConnection
(String byeMessage) void
deselect()
Moves the session out ofImapSessionState.SELECTED
state and back intoImapSessionState.AUTHENTICATED
state.getHost()
Provides the Imap host for this server, which is used for all access to mail storage and subscriptions.Provides the selected mailbox for this session, ornull
if this session is not inImapSessionState.SELECTED
state.getState()
getUser()
Provides the authenticated user for this session, ornull
if this session is not inImapSessionState.AUTHENTICATED
orImapSessionState.SELECTED
state.Provides the UserManager for this session, to allow session to validate logins.void
Moves the session intoImapSessionState.AUTHENTICATED
state with the supplied user.void
setSelected
(MailFolder folder, boolean readOnly) Moves this session intoImapSessionState.SELECTED
state and sets the supplied mailbox to be the currently selected mailbox.void
unsolicitedResponses
(ImapResponse response) Sends any unsolicited responses to the client, such as EXISTS and FLAGS responses when the selected mailbox is modified by another user.void
unsolicitedResponses
(ImapResponse request, boolean omitExpunged)
-
Method Details
-
unsolicitedResponses
Sends any unsolicited responses to the client, such as EXISTS and FLAGS responses when the selected mailbox is modified by another user.- Parameters:
response
- The response to write to- Throws:
FolderException
-
closeConnection
void closeConnection()Closes the connection for this session. -
closeConnection
-
getHost
ImapHostManager getHost()Provides the Imap host for this server, which is used for all access to mail storage and subscriptions.- Returns:
- The ImapHost for this server.
-
getUserManager
UserManager getUserManager()Provides the UserManager for this session, to allow session to validate logins.- Returns:
- The UserManager for this session.
-
getClientHostname
String getClientHostname()- Returns:
- The hostname of the connected client.
-
getClientIP
String getClientIP()- Returns:
- The IP address of the connected client.
-
getState
ImapSessionState getState()- Returns:
- Returns the current state of this session.
-
setAuthenticated
Moves the session intoImapSessionState.AUTHENTICATED
state with the supplied user.- Parameters:
user
- The user who is authenticated for this session.
-
getUser
GreenMailUser getUser()Provides the authenticated user for this session, ornull
if this session is not inImapSessionState.AUTHENTICATED
orImapSessionState.SELECTED
state.- Returns:
- The user authenticated for this session
-
setSelected
Moves this session intoImapSessionState.SELECTED
state and sets the supplied mailbox to be the currently selected mailbox.- Parameters:
folder
- The selected mailbox.readOnly
- Iftrue
, the selection is set to be read only.
-
deselect
void deselect()Moves the session out ofImapSessionState.SELECTED
state and back intoImapSessionState.AUTHENTICATED
state. The selected mailbox is cleared. -
getSelected
ImapSessionFolder getSelected()Provides the selected mailbox for this session, ornull
if this session is not inImapSessionState.SELECTED
state.- Returns:
- the currently selected mailbox.
-
unsolicitedResponses
- Throws:
FolderException
-
getSessionId
String getSessionId()
-