Skip to main content

Free SmailPro temp-email client with persistent state and duplicate protection

Project description

smailpro-temp-client

smailpro-temp-client is a Python package for working with the free SmailPro temp-email web flow.

It supports:

  • creating temporary addresses
  • loading and saving mailbox state as JSON
  • polling inboxes for new messages
  • opening full message bodies
  • persisting a local registry so the same temp email is not accepted twice across runs

The public import path is smailpro_client.

Install

From a local checkout:

pip install .

After publishing to PyPI:

pip install smailpro-temp-client

Then install the browser runtime used by Playwright:

python3 -m playwright install chromium

CLI

Create a unique temporary email and save its state:

smailpro-client --create-only --show-json --save-state smail_state.json

Read the current inbox:

smailpro-client --state-file smail_state.json --list-only --show-json

Wait for unseen messages only:

smailpro-client --state-file smail_state.json --wait-timeout 300 --poll-interval 5 --show-json

Read the first message body:

smailpro-client --state-file smail_state.json --list-only --read-first --show-json

Python API

import asyncio

from smailpro_client import EmailRegistry, MailState, SmailProClient


async def main() -> None:
    registry = EmailRegistry()
    async with SmailProClient() as client:
        email = await client.create_unique_email(registry=registry, max_attempts=10)
        messages = await client.list_messages(email)
        state = MailState(email=email, messages=messages)
        print(state.to_dict())


asyncio.run(main())

Publishing

The repository includes:

  • pyproject.toml for packaging
  • .github/workflows/publish.yml for GitHub Actions Trusted Publishing
  • smailpro_client/README.md and smailpro_client/DOCUMENTATION.md for module-level docs

Before your first real release, replace the placeholder GitHub URLs in pyproject.toml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smailpro_temp_client-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smailpro_temp_client-0.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file smailpro_temp_client-0.1.0.tar.gz.

File metadata

  • Download URL: smailpro_temp_client-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for smailpro_temp_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 485f9c43a736e95b6b7ee65062169efbfd853b65063cc378b0dae03098743ede
MD5 4ff43794ed2bb5b3550a28fe8cff79b8
BLAKE2b-256 88d2d86bc71639a06b8a1ac5161f63f002bc4112feaf6fe75e1304de8173bcaf

See more details on using hashes here.

File details

Details for the file smailpro_temp_client-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for smailpro_temp_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9f8cfa1b7737470c6e71103ef51d8bd71e4d9abf94fb7af739c7f5b519907fa
MD5 6aaee8bf09868d5fb1d91289dba3d99f
BLAKE2b-256 f4c540c583c8dc7d2d2ce0ea4805ca328addc76b47fa57f4f6d1bed4a096c3a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page