ImapClient
Defined in: packages/net-imap/src/imap/imap-client.ts:84
IMAP4rev1 client over any transport.
Handles CRLF framing, tagged command correlation and untagged response collection. Tags are generated automatically by the high-level methods; use command with an explicit tag for finer control.
Correlation scans several outstanding commands rather than only the oldest, because a server may complete pipelined commands out of order.
Untagged lines and the greeting are dispatched as push events; subscribe
before the first byte arrives to catch the greeting.
Extends
Section titled “Extends”Session<string,string,ImapClientEvents>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ImapClient(
source,options?):ImapClient
Defined in: packages/net-imap/src/imap/imap-client.ts:94
Parameters
Section titled “Parameters”source
Section titled “source”Transport
Any Transport. For a Node.js Duplex/net.Socket,
wrap it first: new DuplexTransport(socket) from
@ac-kit/net-transport-node.
options?
Section titled “options?”Buffer, line-length, pipelining and timeout tuning.
Returns
Section titled “Returns”ImapClient
Overrides
Section titled “Overrides”Session<string, string, ImapClientEvents>.constructor
Accessors
Section titled “Accessors”buffered
Section titled “buffered”Get Signature
Section titled “Get Signature”get buffered():
number
Defined in: packages/net-core/src/session.ts:243
Bytes received but not yet decoded.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”Session.buffered
pendingExchanges
Section titled “pendingExchanges”Get Signature
Section titled “Get Signature”get pendingExchanges():
number
Defined in: packages/net-core/src/session.ts:248
Number of outstanding exchanges, including abort tombstones.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”Session.pendingExchanges
Methods
Section titled “Methods”[asyncDispose]()
Section titled “[asyncDispose]()”[asyncDispose]():
Promise<void>
Defined in: packages/net-core/src/session.ts:277
Destroys the session, so it can be used with await using.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”Session.[asyncDispose]
capability()
Section titled “capability()”capability(
options?):Promise<ImapResponse>
Defined in: packages/net-imap/src/imap/imap-client.ts:167
Send CAPABILITY.
Parameters
Section titled “Parameters”options?
Section titled “options?”ExchangeOptions<string>
Abort, timeout and abort-policy overrides.
Returns
Section titled “Returns”Promise<ImapResponse>
command()
Section titled “command()”command(
tag,cmd,options?):Promise<ImapResponse>
Defined in: packages/net-imap/src/imap/imap-client.ts:116
Send TAG CMD and collect every line up to the tagged response.
Parameters
Section titled “Parameters”string
The command tag to correlate on.
string
The command and its arguments.
options?
Section titled “options?”ExchangeOptions<string>
Abort, timeout and abort-policy overrides.
Returns
Section titled “Returns”Promise<ImapResponse>
The tagged response with all preceding untagged lines.
Throws
Section titled “Throws”If the tagged status is not OK, NO or BAD.
destroy()
Section titled “destroy()”destroy(
error?):void
Defined in: packages/net-core/src/session.ts:271
Tear the session down, rejecting every outstanding exchange.
Rejection happens here rather than relying on the transport emitting
close, so callers are never left with promises that hang against a
transport that closes silently.
Parameters
Section titled “Parameters”error?
Section titled “error?”unknown
Optional cause reported to outstanding exchanges.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Session.destroy
end():
Promise<void>
Defined in: packages/net-core/src/session.ts:258
Half-close the outbound direction and flush pending writes.
Prefer this over destroy for protocols with a farewell command, so the peer sees an orderly shutdown.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”Session.end
isSubscribed()
Section titled “isSubscribed()”isSubscribed<
K>(event,listener):boolean
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:38
Check if a callback is subscribed to a specific event.
Type Parameters
Section titled “Type Parameters”K extends "push" | keyof BaseSessionEvents
Parameters
Section titled “Parameters”K
The event name.
listener
Section titled “listener”Callable<ImapClientEvents[K]>
The callback to check.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”Session.isSubscribed
login()
Section titled “login()”login(
user,password,options?):Promise<ImapResponse>
Defined in: packages/net-imap/src/imap/imap-client.ts:136
Send LOGIN user password, quoting both as IMAP quoted strings.
Parameters
Section titled “Parameters”string
The account name.
password
Section titled “password”string
The account password.
options?
Section titled “options?”ExchangeOptions<string>
Abort, timeout and abort-policy overrides.
Returns
Section titled “Returns”Promise<ImapResponse>
logout()
Section titled “logout()”logout(
options?):Promise<ImapResponse>
Defined in: packages/net-imap/src/imap/imap-client.ts:177
Send LOGOUT.
Parameters
Section titled “Parameters”options?
Section titled “options?”ExchangeOptions<string>
Abort, timeout and abort-policy overrides.
Returns
Section titled “Returns”Promise<ImapResponse>
The BYE line plus the tagged response.
nextTag()
Section titled “nextTag()”nextTag():
string
Defined in: packages/net-imap/src/imap/imap-client.ts:199
Generate the next sequenced tag.
Returns
Section titled “Returns”string
A tag of the form A0001.
select()
Section titled “select()”select(
mailbox,options?):Promise<ImapResponse>
Defined in: packages/net-imap/src/imap/imap-client.ts:155
Send SELECT mailbox.
Parameters
Section titled “Parameters”mailbox
Section titled “mailbox”string
The mailbox name.
options?
Section titled “options?”ExchangeOptions<string>
Abort, timeout and abort-policy overrides.
Returns
Section titled “Returns”Promise<ImapResponse>
The reply including untagged EXISTS, FLAGS and similar lines.
subscribe()
Section titled “subscribe()”subscribe<
K>(event,listener,options?):Callable|null
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:23
Type Parameters
Section titled “Type Parameters”K extends "push" | keyof BaseSessionEvents
Parameters
Section titled “Parameters”K
listener
Section titled “listener”Callable<ImapClientEvents[K]>
options?
Section titled “options?”EventDispatcherSubscribeOptions
Returns
Section titled “Returns”Callable | null
Inherited from
Section titled “Inherited from”Session.subscribe
unsubscribe()
Section titled “unsubscribe()”unsubscribe<
K>(event,listener):void
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:31
Unsubscribe a callback from a specific event.
Type Parameters
Section titled “Type Parameters”K extends "push" | keyof BaseSessionEvents
Parameters
Section titled “Parameters”K
The event name.
listener
Section titled “listener”Callable<ImapClientEvents[K]>
The callback to remove.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Session.unsubscribe
upgradeTransport()
Section titled “upgradeTransport()”upgradeTransport(
transport):void
Defined in: packages/net-imap/src/imap/imap-client.ts:190
Replace the transport after a successful STARTTLS.
Buffered plaintext is discarded rather than carried across, since bytes sent before the handshake must never be read as part of the secured session.
Parameters
Section titled “Parameters”transport
Section titled “transport”Transport
The TLS transport wrapping the same connection.
Returns
Section titled “Returns”void
wait()
Section titled “wait()”wait<
K>(event,options?):Promise<ImapClientEvents[K]>
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:45
Wait for the next occurrence of a specific event, optionally matching a predicate.
This is a convenience method that subscribes to the dispatcher, waits for the next event that matches the predicate (if provided), and then unsubscribes automatically.
Type Parameters
Section titled “Type Parameters”K extends "push" | keyof BaseSessionEvents
Parameters
Section titled “Parameters”K
The event name to wait for.
options?
Section titled “options?”EventDispatcherWaitOptions<ImapClientEvents[K]>
Optional settings including predicate and abort signal.
Returns
Section titled “Returns”Promise<ImapClientEvents[K]>
A promise that resolves with the event arguments as an array.
Inherited from
Section titled “Inherited from”Session.wait