Connect¶
Auto-discovery¶
The recommended way. Detects the IMAP server from your email domain automatically.
# Code above omitted 👆
# Auto-discovery (recommended)
with Email("user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
print(f"Mailboxes: {app.mailboxes()}")
# Code below omitted 👇
👀 Full file preview
"""Connect to an email server."""
from email_profile import Email
def main() -> None:
# Auto-discovery (recommended)
with Email("user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
print(f"Mailboxes: {app.mailboxes()}")
# Explicit server
with Email("imap.gmail.com", "user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
# From environment variables (.env)
with Email.from_env() as app:
print(f"Connected as {app.user}")
if __name__ == "__main__":
main()
Supports 50+ providers including Gmail, Outlook, Yahoo, iCloud, Zoho, Hostinger, and more.
Explicit Server¶
Specify the IMAP server directly.
# Code above omitted 👆
# Explicit server
with Email("imap.gmail.com", "user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
# Code below omitted 👇
👀 Full file preview
"""Connect to an email server."""
from email_profile import Email
def main() -> None:
# Auto-discovery (recommended)
with Email("user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
print(f"Mailboxes: {app.mailboxes()}")
# Explicit server
with Email("imap.gmail.com", "user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
# From environment variables (.env)
with Email.from_env() as app:
print(f"Connected as {app.user}")
if __name__ == "__main__":
main()
From Environment Variables¶
Read credentials from .env or environment variables.
# Code above omitted 👆
# From environment variables (.env)
with Email.from_env() as app:
print(f"Connected as {app.user}")
# Code below omitted 👇
👀 Full file preview
"""Connect to an email server."""
from email_profile import Email
def main() -> None:
# Auto-discovery (recommended)
with Email("user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
print(f"Mailboxes: {app.mailboxes()}")
# Explicit server
with Email("imap.gmail.com", "user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
# From environment variables (.env)
with Email.from_env() as app:
print(f"Connected as {app.user}")
if __name__ == "__main__":
main()
Expected variables:
EMAIL_USERNAME=user@example.com
EMAIL_PASSWORD=app_password
EMAIL_SERVER=imap.example.com # optional, auto-discovered
Full Code¶
"""Connect to an email server."""
from email_profile import Email
def main() -> None:
# Auto-discovery (recommended)
with Email("user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
print(f"Mailboxes: {app.mailboxes()}")
# Explicit server
with Email("imap.gmail.com", "user@gmail.com", "app_password") as app:
print(f"Connected to {app.server}")
# From environment variables (.env)
with Email.from_env() as app:
print(f"Connected as {app.user}")
if __name__ == "__main__":
main()