Skip to main content

A clean, modular Python client for YOPmail disposable email service

Project description

๐Ÿ“ง YOPmail Client

Python License Status Version Release

โš ๏ธ IMPORTANT DISCLAIMER: This project is for educational purposes only. Please use responsibly and in accordance with YOPmail's terms of service. The authors are not responsible for any misuse of this software.


๐ŸŽฏ Overview

A clean, modular Python client for interacting with YOPmail disposable email service. Built with modern Python practices, comprehensive error handling, and a simple API for easy integration.

โœจ Key Features

  • ๐Ÿ” Secure Authentication - Robust cookie management and session handling
  • ๐Ÿ“ฌ Message Management - List, fetch, and process emails efficiently
  • ๐Ÿ›ก๏ธ Rate Limiting - Built-in protection against service limits
  • ๐ŸŒ Proxy Support - Advanced proxy rotation capabilities
  • ๐Ÿ“Š Comprehensive Logging - Detailed operation tracking
  • ๐ŸŽ›๏ธ CLI Interface - Easy command-line access
  • ๐Ÿ“š Type Safety - Full type annotations throughout

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/firasguendouz/yopmail_auto.git
cd yopmail_auto

# Install dependencies
pip install -r requirements.txt

# Install the package
pip install -e .

Basic Usage

from modules.yopmail_client import check_inbox, get_last_message

# Check inbox for messages
messages = check_inbox("yourmailbox")

# Get the latest message
latest = get_last_message("yourmailbox")
if latest:
    print(f"Latest: {latest.subject}")

๐Ÿ“– Essential API

Core Functions

Function Description Parameters
check_inbox(mailbox) List all messages in inbox mailbox: str
get_last_message(mailbox) Get most recent message mailbox: str
get_message_by_id(mailbox, msg_id) Fetch specific message mailbox: str, msg_id: str
get_inbox_count(mailbox) Count messages in inbox mailbox: str
get_inbox_summary(mailbox) Get inbox overview mailbox: str

Advanced Usage

from modules.yopmail_client import YOPMailClient

# Full client control
with YOPMailClient("mailbox") as client:
    client.open_inbox()
    messages = client.list_messages()
    
    for msg in messages:
        content = client.fetch_message(msg.id)
        print(f"Subject: {msg.subject}")
        print(f"From: {msg.sender}")
        print(f"Content: {content[:100]}...")

๐Ÿ–ฅ๏ธ Command Line Interface

# List all messages
python -m modules.yopmail_client.cli yourmailbox --list

# Show detailed message information
python -m modules.yopmail_client.cli yourmailbox --list --details

# Fetch specific message content
python -m modules.yopmail_client.cli yourmailbox --fetch MESSAGE_ID

๐Ÿ—๏ธ Architecture

Project Structure

yopmail-client/
โ”œโ”€โ”€ ๐Ÿ“ modules/
โ”‚   โ””โ”€โ”€ ๐Ÿ“ yopmail_client/
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ client.py          # Core client implementation
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ simple_api.py      # Essential API functions
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ constants.py       # Configuration constants
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ cookies.py         # Cookie management
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ exceptions.py      # Custom exceptions
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ utils.py           # Utility functions
โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ cli.py             # Command-line interface
โ”‚       โ””โ”€โ”€ ๐Ÿ“„ proxy_manager.py   # Proxy rotation
โ”œโ”€โ”€ ๐Ÿ“ artifacts/
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ api_summary.json       # API documentation
โ”œโ”€โ”€ ๐Ÿ“„ requirements.txt           # Dependencies
โ”œโ”€โ”€ ๐Ÿ“„ setup.py                   # Package configuration
โ””โ”€โ”€ ๐Ÿ“„ README.md                  # This file

Design Principles

  • ๐Ÿ”ง Modularity - Clean separation of concerns
  • ๐Ÿ›ก๏ธ Security - Safe handling of credentials and sessions
  • ๐Ÿ“ˆ Scalability - Built for high-volume operations
  • ๐Ÿ” Observability - Comprehensive logging and monitoring
  • ๐ŸŽฏ Simplicity - Easy-to-use API design

โš™๏ธ Configuration

Rate Limiting

config = {
    "rate_limit_detection": True,
    "rate_limit_delay": 2.0,  # seconds
    "max_retries": 3
}

messages = check_inbox("mailbox", config=config)

Proxy Support

config = {
    "proxy_enabled": True,
    "proxy_list": [
        "http://proxy1:8080",
        "http://proxy2:8080"
    ],
    "proxy_rotation": True
}

๐Ÿงช Testing

# Run all tests
pytest tests/

# Run with coverage report
pytest --cov=modules.yopmail_client tests/

# Run specific test file
pytest tests/test_client_basic.py

๐Ÿ“Š Performance

  • โšก Fast Response - Optimized HTTP requests
  • ๐Ÿ”„ Connection Pooling - Efficient resource usage
  • ๐Ÿ“ˆ Rate Limiting - Automatic backoff strategies
  • ๐ŸŒ Proxy Rotation - Load distribution across proxies

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone and setup development environment
git clone https://github.com/firasguendouz/yopmail_auto.git
cd yopmail_auto

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest tests/

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


โš ๏ธ Legal Notice

This software is provided for educational and research purposes only.

  • ๐Ÿšซ No Spam - Do not use for sending unsolicited emails
  • ๐Ÿšซ No Abuse - Respect YOPmail's terms of service
  • ๐Ÿšซ No Commercial Use - Not intended for commercial applications
  • โœ… Educational Use - Perfect for learning email automation
  • โœ… Research - Ideal for academic and research projects

The authors are not responsible for any misuse of this software.


๐Ÿ“ž Support


Made with โค๏ธ for the Python community

GitHub stars GitHub forks

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

yopmail_client-1.0.3.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

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

yopmail_client-1.0.3-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file yopmail_client-1.0.3.tar.gz.

File metadata

  • Download URL: yopmail_client-1.0.3.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for yopmail_client-1.0.3.tar.gz
Algorithm Hash digest
SHA256 9c70dc9be64c657fcbcc1c54f6182272b252733e416e00e7d7371fcf6c272fc7
MD5 b344b79d1339f95c6f04434f0fbb21fb
BLAKE2b-256 06c885d57a760b7c0a83b29ebc212d770e0dddb8565d6e21e63cdf09f37875b4

See more details on using hashes here.

File details

Details for the file yopmail_client-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: yopmail_client-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for yopmail_client-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 89f74d650866a5c55fb34117e3edfae330806e0a145eeea7b1cc3bce153dcd27
MD5 5d71fccf1ee84a69d57a0d1bb807063c
BLAKE2b-256 74ae35283192ce7367db8aac0ec55d1647787c4c68024a69b207c1c0063cf3b3

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