Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mirage.strukto.ai/llms.txt

Use this file to discover all available pages before exploring further.

Dependencies

uv add aioimaplib aiosmtplib
For credential setup, see the Email Setup guide.

Configuration

import os
from mirage import Workspace, MountMode
from mirage.resource.email import EmailConfig, EmailResource

config = EmailConfig(
    imap_host=os.environ["IMAP_HOST"],
    smtp_host=os.environ["SMTP_HOST"],
    username=os.environ["EMAIL_USERNAME"],
    password=os.environ["EMAIL_PASSWORD"],
)
resource = EmailResource(config=config)
ws = Workspace({"/email/": resource}, mode=MountMode.READ)

Verify Connection

import asyncio

async def main():
    r = await ws.execute("ls /email/")
    print(await r.stdout_str())

asyncio.run(main())
This should print your IMAP folder names (e.g., INBOX, Sent, Drafts, Archive).

Config Reference

FieldRequiredDefaultDescription
imap_hostYesIMAP server hostname
imap_portNo993IMAP port
smtp_hostYesSMTP server hostname
smtp_portNo587SMTP port
usernameYesEmail address / login
passwordYesPassword or app password
use_sslNoTrueUse SSL for IMAP