New:Socket for Asana Is Now Available.Learn more
Get Started

imapflow

Package Overview
Dependencies
Maintainers
1
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

imapflow

IMAP Client for Node

Source
npmnpm
Version
1.7.6
Version published
Weekly downloads
3M
-5.51%
Maintainers
1
Weekly downloads
 
Created
Source

ImapFlow

Modern and easy-to-use IMAP client library for Node.js.

npm license

ImapFlow provides a clean, promise-based API for working with IMAP, so you don't need in-depth knowledge of the protocol. IMAP extensions are detected and handled automatically. You write the same code regardless of server capabilities, and ImapFlow adapts behind the scenes. ImapFlow is the IMAP engine that powers EmailEngine, a self-hosted email API built by the same team.

Features

  • Async/await API - all methods return Promises
  • Automatic IMAP extension handling - CONDSTORE, QRESYNC, IDLE, COMPRESS, and more
  • Message streaming - async iterators for efficient processing
  • Mailbox locking - built-in locking mechanism for safe concurrent access
  • TypeScript support - type definitions included
  • Proxy support - SOCKS and HTTP CONNECT proxies
  • Gmail support - labels, raw search via X-GM-EXT-1

Installation

npm install imapflow

Quick Example

const { ImapFlow } = require('imapflow');

const client = new ImapFlow({
    host: 'imap.example.com',
    port: 993,
    secure: true,
    auth: {
        user: 'user@example.com',
        pass: 'password'
    }
});

const main = async () => {
    await client.connect();

    let lock = await client.getMailboxLock('INBOX');
    try {
        // fetch latest message
        let message = await client.fetchOne(client.mailbox.exists, { source: true });
        console.log(message.source.toString());

        // list subjects for all messages
        for await (let message of client.fetch('1:*', { envelope: true })) {
            console.log(`${message.uid}: ${message.envelope.subject}`);
        }
    } finally {
        // always release the lock
        lock.release();
    }

    await client.logout();
};

main().catch(console.error);

See the Quick Start guide for more examples, including Gmail, Outlook, and Yahoo configuration.

Documentation

Full documentation is available at imapflow.com.

ImapFlow was built for EmailEngine, a self-hosted email API that turns Gmail, Microsoft 365, and IMAP accounts into REST endpoints, with managed OAuth2 and webhooks for incoming mail. If you need a production email integration rather than an IMAP client, start there.

License

Copyright (c) 2020-2025 Postal Systems OU

Licensed under the MIT license.

Keywords

imap

FAQs

Package last updated on 24 Aug 2026

Related posts