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 Details

    • unsolicitedResponses

      void unsolicitedResponses(ImapResponse response) throws FolderException
      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

      void closeConnection(String byeMessage)
    • 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

      void setAuthenticated(GreenMailUser user)
      Moves the session into ImapSessionState.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, or null if this session is not in ImapSessionState.AUTHENTICATED or ImapSessionState.SELECTED state.
      Returns:
      The user authenticated for this session
    • setSelected

      void setSelected(MailFolder folder, boolean readOnly)
      Moves this session into ImapSessionState.SELECTED state and sets the supplied mailbox to be the currently selected mailbox.
      Parameters:
      folder - The selected mailbox.
      readOnly - If true, the selection is set to be read only.
    • deselect

      void deselect()
      Moves the session out of ImapSessionState.SELECTED state and back into ImapSessionState.AUTHENTICATED state. The selected mailbox is cleared.
    • getSelected

      ImapSessionFolder getSelected()
      Provides the selected mailbox for this session, or null if this session is not in ImapSessionState.SELECTED state.
      Returns:
      the currently selected mailbox.
    • unsolicitedResponses

      void unsolicitedResponses(ImapResponse request, boolean omitExpunged) throws FolderException
      Throws:
      FolderException
    • getSessionId

      String getSessionId()