Skip to content

nichind/firstmail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

firstmail

Integrate firstmail.ltd emails into your Python applications with ease.

Pip module installs total downloadsRun Tests Upload Python Package to PyPI when a Release is Created

Server Info

  • IMAP/POP3 host: imap.firstmail.ltd
  • IMAP SSL: 993, POP3 SSL: 995
  • IMAP non-SSL: 143, POP3 non-SSL: 110
  • IP: 5.252.35.241

Installation

with pip

pip install firstmail

with uv

uv install firstmail

build from source

git clone https://github.com/nichind/firstmail.git
cd firstmail
pip install -e .

Python Usage

Using the context manager (recommended)

from firstmail import firstmail_client

with firstmail_client("[email protected]", "your_password") as client:
    # Get the most recent email
    last_email = client.get_last_mail()
    if last_email:
        print(last_email.subject, last_email.sender)

    # Get multiple emails (newest first)
    emails = client.get_all_mail(limit=10)
    print(f"Fetched {len(emails)} emails")

Manual resource management

from firstmail import FirstMail

client = FirstMail("[email protected]", "your_password")
try:
    print(client.get_message_count())
finally:
    client.close()

Watch for new emails

from firstmail import firstmail_client

with firstmail_client("[email protected]", "your_password") as client:
    for new_email in client.watch_for_new_emails(check_interval=60):
        print("New email:", new_email.subject)
        # break  # optionally exit after the first

CLI

Note

If the firstmail command isn't working in your terminal, use python -m firstmail <command>, uv run -m firstmail <command>, etc. instead.

Basic commands

# Read the most recent email
firstmail -e <email> -p <password> read-last

# Read all emails (limit to N)
firstmail -e <email:password> read-all --limit 10 --full

# Watch for new emails
firstmail watch --interval 60 --show-body

# Count messages in inbox
firstmail count

You can also pass credentials explicitly:

firstmail -e [email protected] -p your_password read-last

Disclaimer

I'm not responsible for possible misuse of this software. Please use it in accordance with the law and respect the terms of service of the services you access.

Consider leaving a star ⭐

Star History Chart

About

Integrate firstmail.ltd emails into your Python applications with ease.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages