Skip to content

mailbox Module

The mailbox module provides classes for reading, writing, and manipulating various mailbox formats (mbox, Maildir, MMDF, etc.).

Complexity Reference

Operation Time Space Notes
Open mailbox O(n) O(n) n = messages
Add message O(1) amortized O(1) Append operation
Iterate messages O(n) O(1) Sequential access

Working with Mailboxes

Reading Mailbox

import mailbox

# Open mbox - O(n)
mbox = mailbox.mbox('mail.mbox')

# Iterate - O(n)
for key, message in mbox.items():
    print(message['Subject'])
    print(message.get_payload())

mbox.close()

Adding Messages

import mailbox
from email.message import EmailMessage

# Open - O(n)
mbox = mailbox.mbox('mail.mbox')

# Create message - O(1)
msg = EmailMessage()
msg['Subject'] = 'Test'
msg.set_content('Hello')

# Add - O(1)
key = mbox.add(msg)

# Flush to disk - O(n)
mbox.flush()
mbox.close()