Skip to main content

API client for creating temporary email addresses to use in your E2E tests with Playwright, Cypress, and other frameworks.

Project description

Tigrmail Logo

Website | API Docs | Demo

Tigrmail SDK

Tigrmail SDK is a Python library for automating email verification workflows. It allows you to generate temporary inboxes and poll for email messages with customizable filters. This library is ideal for testing email-based features or automating email verification processes.

If you are working in a different programming language, you can still access all features by integrating directly with our API.

Features

  • Generate temporary inboxes.
  • Poll for the next email message with advanced filtering options (e.g., by subject, sender email, or domain).
  • Built-in error handling for API interactions.
  • Automatic retry logic for HTTP requests.

Installation

pip install tigrmail

Usage

Importing the Library

from tigrmail import Tigrmail, TigrmailError

Creating an Instance

To use the library, retrieve your API token from our console and create a Tigrmail instance using that token:

tigrmail = Tigrmail(token="your-api-token")

Generating a Temporary Inbox

email_address = tigrmail.create_email_address()
print(email_address)  # <random-email-address>@den.tigrmail.com

Polling for the Next Email Message

You can poll for the next email message using filters:

message = tigrmail.poll_next_message(
    inbox=email_address,
    subject={"contains": "Verification"},
    from_={"email": "noreply@example.com"},
)

print(f"Received email: {message['subject']}")

Playwright Integration Example

For a complete example of using Tigrmail SDK with Playwright for automated email verification testing, check out our Playwright Email Verification Example.

Context Manager Usage

The library supports Python's context manager protocol for automatic resource cleanup:

from tigrmail import Tigrmail, TigrmailError

try:
    with Tigrmail(token="your-api-token") as tigrmail:
        inbox = tigrmail.create_email_address()
        message = tigrmail.poll_next_message(
            inbox=inbox,
            subject={"contains": "Verification"},
            from_={"email": "noreply@example.com"},
        )
        print(message["subject"])
except TigrmailError as error:
    print(f"Error: {error.general_message}")

API Reference

Tigrmail.create_email_address() -> str

Generates a temporary email address.

Tigrmail.poll_next_message(inbox, subject=None, from_=None) -> dict

Polls for the next email message with optional filters:

  • inbox (str): The email address to poll for messages
  • subject (dict, optional): Filter by subject line
    • {"contains": str} - Subject contains the specified string
    • {"equals": str} - Subject exactly matches the specified string
  • from_ (dict, optional): Filter by sender
    • {"email": str} - From a specific email address
    • {"domain": str} - From any address at the specified domain

Returns an EmailMessage dictionary with message details.

Error Handling

The library raises TigrmailError for API-related issues. You can catch and handle these errors as follows:

try:
    inbox = tigrmail.create_email_address()
except TigrmailError as error:
    print(f"Error: {error.general_message}")
except Exception as error:
    print(f"Unexpected error: {error}")

Technical Details

  • Base URL: https://api.tigrmail.com
  • Timeout: 180s
  • Retries: 3 (exponential backoff) on all HTTP/transport errors
  • Uses httpx under the hood with simple retry logic

License

This project is licensed under the MIT License.

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

tigrmail-0.3.0.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

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

tigrmail-0.3.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file tigrmail-0.3.0.tar.gz.

File metadata

  • Download URL: tigrmail-0.3.0.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for tigrmail-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b86a444d21597060301eeb29acd0ab454d1122ebe1dade141c2047806f7a7a55
MD5 c2bb5f7e8f7bbd9f847572b005667394
BLAKE2b-256 07188c3a1f1e3976cb898a2f761e2055c1f35689ec38cccc0c9bb4fc1311bbc5

See more details on using hashes here.

File details

Details for the file tigrmail-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: tigrmail-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for tigrmail-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 493333cd54091345833ec8226a0feef4b8b63c794e78cab25275c464cf6e8594
MD5 56b6917df6972aea323865852c21a0d5
BLAKE2b-256 cf6345c0b28e97837b294b26f069da504f1af4ab14e399f3dc2d576934e963f2

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