Package org.apache.commons.net.imap
Class IMAPClient
java.lang.Object
org.apache.commons.net.SocketClient
org.apache.commons.net.imap.IMAP
org.apache.commons.net.imap.IMAPClient
- Direct Known Subclasses:
IMAPSClient
The IMAPClient class provides the basic functionalities found in an IMAP client.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
The message data item names for the FETCH command defined in RFC 3501.static enum
The search criteria defined in RFC 3501.static enum
The status data items defined in RFC 3501.Nested classes/interfaces inherited from class org.apache.commons.net.imap.IMAP
IMAP.IMAPChunkListener, IMAP.IMAPState
-
Field Summary
Fields inherited from class org.apache.commons.net.imap.IMAP
__DEFAULT_ENCODING, __writer, _reader, DEFAULT_PORT, TRUE_CHUNK_LISTENER
Fields inherited from class org.apache.commons.net.SocketClient
_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL, remoteInetSocketAddress
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Deprecated.(3.4) Does not work; the message body is not optional.boolean
Deprecated.(3.4) Does not work; the message body is not optional.boolean
Send an APPEND command to the server.boolean
Send a CAPABILITY command to the server.boolean
check()
Send a CHECK command to the server.boolean
close()
Send a CLOSE command to the server.boolean
Send a COPY command to the server.boolean
Send a CREATE command to the server.boolean
Send a DELETE command to the server.boolean
Send an EXAMINE command to the server.boolean
expunge()
Send an EXPUNGE command to the server.boolean
Send a FETCH command to the server.boolean
Send a LIST command to the server.boolean
Login to the IMAP server with the given user and password.boolean
logout()
Send a LOGOUT command to the server.boolean
Send an LSUB command to the server.boolean
noop()
Send a NOOP command to the server.boolean
Send a RENAME command to the server.boolean
Send a SEARCH command to the server.boolean
Send a SEARCH command to the server.boolean
Send a SELECT command to the server.boolean
Send a STATUS command to the server.boolean
Send a STORE command to the server.boolean
Send a SUBSCRIBE command to the server.boolean
Send a UID command to the server.boolean
unsubscribe
(String mailboxName) Send a UNSUBSCRIBE command to the server.Methods inherited from class org.apache.commons.net.imap.IMAP
_connectAction_, disconnect, doCommand, doCommand, fireReplyReceived, generateCommandID, getReplyString, getReplyStrings, getState, sendCommand, sendCommand, sendCommand, sendCommand, sendData, setChunkListener, setState
Methods inherited from class org.apache.commons.net.SocketClient
addProtocolCommandListener, applySocketAttributes, checkOpenOutputStream, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, getCharset, getCharsetName, getCommandSupport, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemoteInetSocketAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
-
Constructor Details
-
IMAPClient
public IMAPClient()
-
-
Method Details
-
append
Deprecated.(3.4) Does not work; the message body is not optional. Useappend(String, String, String, String)
instead.Send an APPEND command to the server.- Parameters:
mailboxName
- The mailbox name.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
append
@Deprecated public boolean append(String mailboxName, String flags, String datetime) throws IOException Deprecated.(3.4) Does not work; the message body is not optional. Useappend(String, String, String, String)
instead.Send an APPEND command to the server.- Parameters:
mailboxName
- The mailbox name.flags
- The flag parenthesized list (optional).datetime
- The date/time string (optional).- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
append
public boolean append(String mailboxName, String flags, String datetime, String message) throws IOException Send an APPEND command to the server.- Parameters:
mailboxName
- The mailbox name.flags
- The flag parenthesized list (optional).datetime
- The date/time string (optional).message
- The message to append.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.- Since:
- 3.4
-
capability
Send a CAPABILITY command to the server.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs
-
check
Send a CHECK command to the server.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
close
Send a CLOSE command to the server.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
copy
Send a COPY command to the server.- Parameters:
sequenceSet
- The sequence set to fetch.mailboxName
- The mailbox name.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
create
Send a CREATE command to the server.- Parameters:
mailboxName
- The mailbox name to create.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
delete
Send a DELETE command to the server.- Parameters:
mailboxName
- The mailbox name to delete.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
examine
Send an EXAMINE command to the server.- Parameters:
mailboxName
- The mailbox name to examine.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
expunge
Send an EXPUNGE command to the server.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
fetch
Send a FETCH command to the server.- Parameters:
sequenceSet
- The sequence set to fetch (e.g. 1:4,6,11,100:*)itemNames
- The item names for the FETCH command. (e.g. BODY.PEEK[HEADER.FIELDS (SUBJECT)]) If multiple item names are requested, these must be enclosed in parentheses, e.g. "(UID FLAGS BODY.PEEK[])"- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.- See Also:
-
list
Send a LIST command to the server. Quotes the parameters if necessary.- Parameters:
refName
- The reference name If empty, indicates that the mailbox name is interpreted as by SELECT.mailboxName
- The mailbox name. If empty, this is a special request to return the hierarchy delimiter and the root name of the name given in the reference- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
login
Login to the IMAP server with the given user and password. You must first connect to the server withconnect
before attempting to log in. A login attempt is only valid if the client is in the NOT_AUTH_STATE. After logging in, the client enters the AUTH_STATE.- Parameters:
user
- The account name being logged in to.password
- The plain text password of the account.- Returns:
- True if the login attempt was successful, false if not.
- Throws:
IOException
- If a network I/O error occurs in the process of logging in.
-
logout
Send a LOGOUT command to the server. To fully disconnect from the server you must call disconnect(). A logout attempt is valid in any state. If the client is in the not authenticated or authenticated state, it enters the logout on a successful logout.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
lsub
Send an LSUB command to the server. Quotes the parameters if necessary.- Parameters:
refName
- The reference name.mailboxName
- The mailbox name.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
noop
Send a NOOP command to the server. This is useful for keeping a connection alive since most IMAP servers will time out after 10 minutes of inactivity.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
rename
Send a RENAME command to the server.- Parameters:
oldMailboxName
- The existing mailbox name to rename.newMailboxName
- The new mailbox name.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
search
Send a SEARCH command to the server.- Parameters:
criteria
- The search criteria.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
search
Send a SEARCH command to the server.- Parameters:
charset
- The charset (optional).criteria
- The search criteria.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
select
Send a SELECT command to the server.- Parameters:
mailboxName
- The mailbox name to select.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
status
Send a STATUS command to the server.- Parameters:
mailboxName
- The reference name.itemNames
- The status data item names.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
store
Send a STORE command to the server.- Parameters:
sequenceSet
- The sequence set to update (e.g. 2:5)itemNames
- The item name for the STORE command (i.e. [+|-]FLAGS[.SILENT])itemValues
- The item values for the STORE command. (e.g. (\Deleted) )- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
subscribe
Send a SUBSCRIBE command to the server.- Parameters:
mailboxName
- The mailbox name to subscribe to.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
uid
Send a UID command to the server.- Parameters:
command
- The command for UID.commandArgs
- The arguments for the command.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-
unsubscribe
Send a UNSUBSCRIBE command to the server.- Parameters:
mailboxName
- The mailbox name to unsubscribe from.- Returns:
true
if the command was successful,false
if not.- Throws:
IOException
- If a network I/O error occurs.
-