Glossary
Technical terms and definitions used throughout the EmailEngine documentation.
Email Protocol Terms
IMAP (Internet Message Access Protocol)
A protocol for accessing email messages stored on a mail server. IMAP allows multiple clients to access the same mailbox and keeps messages on the server. EmailEngine maintains persistent IMAP connections to sync email data.
SMTP (Simple Mail Transfer Protocol)
The standard protocol for sending emails across the internet. EmailEngine uses SMTP connections to submit outgoing messages through email providers.
IDLE
An IMAP extension that allows the server to notify the client immediately when new messages arrive or existing messages change, without the client having to poll repeatedly. EmailEngine uses IDLE for real-time email notifications.
UID (Unique Identifier)
A unique number assigned to each message in an IMAP mailbox. UIDs persist across sessions and are used to identify specific messages. EmailEngine uses UIDs internally but exposes its own ID system to users.
UIDVALIDITY
A value that indicates whether the UIDs in a mailbox are still valid. If UIDVALIDITY changes (e.g., after mailbox reconstruction), all UIDs become invalid and messages must be re-synced. EmailEngine handles UIDVALIDITY changes automatically.
MODSEQ (Modification Sequence)
A counter that increases each time any message in a mailbox is modified. Used for efficient synchronization - EmailEngine only fetches changes since the last known MODSEQ value.
Envelope
The metadata of an email message including From, To, Subject, Date, and Message-ID headers. Distinguished from the message body and attachments.
MIME (Multipurpose Internet Mail Extensions)
A standard for formatting non-ASCII content in email messages, including attachments, HTML content, and international characters.
Special-Use Folders
Mailboxes with specific purposes defined by the IMAP server, such as Sent, Drafts, Trash, Junk, and Archive. EmailEngine detects these automatically using IMAP SPECIAL-USE extension.
OAuth2 Terms
OAuth2 (Open Authorization 2.0)
An authorization framework that allows applications to access user accounts without handling passwords directly. EmailEngine uses OAuth2 for Gmail, Outlook, and other providers.
Access Token
A short-lived credential (typically 1 hour) that grants access to a user's account. EmailEngine automatically refreshes access tokens before they expire.
Refresh Token
A long-lived credential used to obtain new access tokens without requiring the user to re-authenticate. EmailEngine stores refresh tokens securely and uses them to maintain persistent access.
OAuth2 Scope
Permissions that define what actions an application can perform. Examples:
https://mail.google.com/- Full Gmail access (IMAP/SMTP)https://www.googleapis.com/auth/gmail.modify- Gmail API read/write accesshttps://outlook.office.com/IMAP.AccessAsUser.All- Outlook IMAP access
Consent Screen
The authorization page shown to users where they grant permission for an application to access their account. Configured in Google Cloud Console or Azure Portal.
Client ID / Client Secret
Credentials that identify your application to OAuth2 providers. The Client ID is public; the Client Secret must be kept confidential.
Service Account
A special type of Google account for applications (not users) that can access resources without user interaction. Requires Google Workspace and domain-wide delegation.
Domain-Wide Delegation
A feature that allows a service account to impersonate any user in a Google Workspace domain. Configured by organization admins.
Two-Legged OAuth2
OAuth2 flow where the application authenticates directly without user interaction, typically using service accounts.
Three-Legged OAuth2
Standard OAuth2 flow involving user consent, where the user authorizes the application through a consent screen.
EmailEngine Terms
Account
An email account registered with EmailEngine. Each account represents a connection to one email address and can be accessed via the EmailEngine API.
Account ID
A unique identifier for an account in EmailEngine. Can be auto-generated or specified during account creation. Used in API endpoints like /v1/account/{accountId}/....
Message ID
EmailEngine's unique identifier for a message, formatted as a Base64url-encoded string. Different from the email's Message-ID header.
Sub-connection
Additional IMAP connections that EmailEngine opens to improve performance when syncing large mailboxes. Configured via subconnections setting.
Path
The full path to a mailbox folder, such as INBOX, Sent, or Work/Projects. Used to identify folders in API requests.
Special Path
A logical folder identifier that maps to actual folder names. Examples: \Sent, \Trash, \Drafts, \Junk. EmailEngine resolves these to actual paths automatically.
Webhook
An HTTP callback that EmailEngine sends to your application when events occur (new message, status change, etc.). Configured globally or per-account.
Webhook Event
A specific type of notification, such as messageNew, messageSent, authenticationError. See Webhook Events Reference for complete list.
Token (API)
An authentication credential for accessing the EmailEngine API. Created in the web interface under Settings > Access Tokens.
Token Scope
Permissions assigned to an API token. Valid scopes: * (full access), api (API access), metrics (Prometheus metrics only), smtp (SMTP gateway access), imap-proxy (IMAP proxy access).
Service URL
The public URL where EmailEngine is accessible. Required for OAuth2 callbacks and hosted authentication forms. Set via serviceUrl setting.
Prepared Settings
Configuration values that can be set via environment variables before EmailEngine starts, useful for automated deployments.
Queue Terms
Bull / BullMQ
The job queue system used by EmailEngine for background processing. Handles webhooks, email sending, and other async tasks.
Queue
A named list of jobs waiting to be processed. EmailEngine uses separate queues for different task types (notify, submit, documents).
Job
A single task in a queue, such as sending a webhook or submitting an email. Jobs can be delayed, retried, or failed.
Worker
A process that consumes jobs from a queue and executes them. EmailEngine runs multiple workers for parallel processing.
Failed Jobs Set
Where failed jobs go after exhausting retry attempts. BullMQ does not have a separate dead letter queue - failed jobs remain in the queue's failed set, accessible via Bull Board for debugging.