Mailbox Operations¶
List Mailboxes¶
# Code above omitted 👆
# List all mailboxes
for name in app.mailboxes():
print(f" {name}")
# Code below omitted 👇
👀 Full file preview
"""Mailbox and folder operations."""
from email_profile import Email
def main() -> None:
with Email.from_env() as app:
# List all mailboxes
for name in app.mailboxes():
print(f" {name}")
# Access by name
box = app.mailbox("INBOX")
print(f"INBOX has {box.where().count()} emails")
# Shortcuts
print(f"Inbox: {app.inbox.name}")
print(f"Sent: {app.sent.name}")
print(f"Trash: {app.trash.name}")
print(f"Drafts: {app.drafts.name}")
print(f"Spam: {app.spam.name}")
# Create a new mailbox
# app.mailbox("INBOX.Archive").create()
# Rename a mailbox
# app.mailbox("INBOX.Old").rename_to("INBOX.Archive")
# Delete a mailbox
# app.mailbox("INBOX.Temp").delete_mailbox()
if __name__ == "__main__":
main()
Access by Name¶
# Code above omitted 👆
# Access by name
box = app.mailbox("INBOX")
print(f"INBOX has {box.where().count()} emails")
# Code below omitted 👇
👀 Full file preview
"""Mailbox and folder operations."""
from email_profile import Email
def main() -> None:
with Email.from_env() as app:
# List all mailboxes
for name in app.mailboxes():
print(f" {name}")
# Access by name
box = app.mailbox("INBOX")
print(f"INBOX has {box.where().count()} emails")
# Shortcuts
print(f"Inbox: {app.inbox.name}")
print(f"Sent: {app.sent.name}")
print(f"Trash: {app.trash.name}")
print(f"Drafts: {app.drafts.name}")
print(f"Spam: {app.spam.name}")
# Create a new mailbox
# app.mailbox("INBOX.Archive").create()
# Rename a mailbox
# app.mailbox("INBOX.Old").rename_to("INBOX.Archive")
# Delete a mailbox
# app.mailbox("INBOX.Temp").delete_mailbox()
if __name__ == "__main__":
main()
Shortcuts¶
# Code above omitted 👆
# Shortcuts
print(f"Inbox: {app.inbox.name}")
print(f"Sent: {app.sent.name}")
print(f"Trash: {app.trash.name}")
print(f"Drafts: {app.drafts.name}")
print(f"Spam: {app.spam.name}")
# Code below omitted 👇
👀 Full file preview
"""Mailbox and folder operations."""
from email_profile import Email
def main() -> None:
with Email.from_env() as app:
# List all mailboxes
for name in app.mailboxes():
print(f" {name}")
# Access by name
box = app.mailbox("INBOX")
print(f"INBOX has {box.where().count()} emails")
# Shortcuts
print(f"Inbox: {app.inbox.name}")
print(f"Sent: {app.sent.name}")
print(f"Trash: {app.trash.name}")
print(f"Drafts: {app.drafts.name}")
print(f"Spam: {app.spam.name}")
# Create a new mailbox
# app.mailbox("INBOX.Archive").create()
# Rename a mailbox
# app.mailbox("INBOX.Old").rename_to("INBOX.Archive")
# Delete a mailbox
# app.mailbox("INBOX.Temp").delete_mailbox()
if __name__ == "__main__":
main()
Message Operations¶
# Code above omitted 👆
return
uid = uids[0]
# Mark as read
inbox.mark_seen(uid)
# Mark as unread
inbox.mark_unseen(uid)
# Flag / unflag
inbox.flag(uid)
inbox.unflag(uid)
# Copy to another mailbox
inbox.copy(uid, "INBOX.Archive")
# Move to another mailbox
inbox.move(uid, "INBOX.Archive")
# Delete (marks as \Deleted)
inbox.delete(uid)
# Code below omitted 👇
👀 Full file preview
"""Message operations: mark, delete, move, copy."""
from email_profile import Email
def main() -> None:
with Email.from_env() as app:
inbox = app.inbox
# Get first email UID
uids = inbox.where().uids()
if not uids:
print("No emails")
return
uid = uids[0]
# Mark as read
inbox.mark_seen(uid)
# Mark as unread
inbox.mark_unseen(uid)
# Flag / unflag
inbox.flag(uid)
inbox.unflag(uid)
# Copy to another mailbox
inbox.copy(uid, "INBOX.Archive")
# Move to another mailbox
inbox.move(uid, "INBOX.Archive")
# Delete (marks as \Deleted)
inbox.delete(uid)
# Delete and expunge immediately
inbox.delete(uid, expunge=True)
# Expunge all deleted
inbox.expunge()
if __name__ == "__main__":
main()
Full Code¶
"""Mailbox and folder operations."""
from email_profile import Email
def main() -> None:
with Email.from_env() as app:
# List all mailboxes
for name in app.mailboxes():
print(f" {name}")
# Access by name
box = app.mailbox("INBOX")
print(f"INBOX has {box.where().count()} emails")
# Shortcuts
print(f"Inbox: {app.inbox.name}")
print(f"Sent: {app.sent.name}")
print(f"Trash: {app.trash.name}")
print(f"Drafts: {app.drafts.name}")
print(f"Spam: {app.spam.name}")
# Create a new mailbox
# app.mailbox("INBOX.Archive").create()
# Rename a mailbox
# app.mailbox("INBOX.Old").rename_to("INBOX.Archive")
# Delete a mailbox
# app.mailbox("INBOX.Temp").delete_mailbox()
if __name__ == "__main__":
main()