
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
yopmail-client
Advanced tools
A secure, licensed Python client for YOPmail disposable email service with license validation, send and RSS functionality
⚠️ 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.
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.
yopmail_config.py⚠️ License Required: This client now requires a valid license key to function. You must:
yopmail_config.py with your license keyCreate a yopmail_config.py file in your project directory:
# yopmail_config.py
API_KEY = "YOUR_LICENSE_KEY_HERE" # Required: Get from developer
PROXY_URL = None # Optional: "http://proxy:8080"
PROXY_LIST = None # Optional: ["http://proxy1:8080", "http://proxy2:8080"]
PROXY_ROTATION = False # Optional: Enable proxy rotation
⚠️ Important: Without a valid license key, the client will raise a LicenseError and refuse to operate.
For development and testing, you can skip license validation:
from yopmail_client import YOPMailClient
# Skip license check for development
client = YOPMailClient("test@yopmail.com", skip_license_check=True)
# Clone the repository
git clone https://github.com/DeGanLabs/yopmail_auto.git
cd yopmail_auto
# Install dependencies (includes KeyAuth for license verification)
pip install -r requirements.txt
# Install the package
pip install -e .
Create Configuration File:
# yopmail_config.py
API_KEY = "YOUR_LICENSE_KEY_HERE" # Get this from the developer
PROXY_URL = None # Optional: "http://proxy:8080"
Get Your License Key: Contact the developer to purchase a license
Test Your Setup:
python test_license_integration.py
For developers working on the project:
# Set up development environment
python setup_dev_env.py
# Configure environment variables
# Edit .env file with your KeyAuth credentials
# Test the setup
python keyauth_example.py
The project includes automated CI/CD with GitHub Actions:
.github/workflows/ci.yml): Tests on every push/PR.github/workflows/pypi-release.yml): Publishes to PyPI on releaseNote: CI environments automatically skip license validation when KeyAuth is not available, ensuring tests pass across all platforms.
See DEPLOYMENT_GUIDE.md for complete setup instructions.
from yopmail_client import YOPMailClient, LicenseError
try:
# The client will automatically validate your license key
client = YOPMailClient("your_mailbox")
client.open_inbox()
messages = client.list_messages()
for message in messages:
print(f"Subject: {message.subject}")
except LicenseError as e:
print(f"License validation failed: {e}")
# Handle license error appropriately
# Create client and send a message
with YOPMailClient("yourmailbox") as client:
client.open_inbox()
# Send a message to another YOPmail address
result = client.send_message(
"recipient@yopmail.com",
"Test Subject",
"This is a test message"
)
print(f"Message sent: {result['success']}")
# List messages
messages = client.list_messages()
for msg in messages:
print(f"Subject: {msg.subject}")
| Function | Description | Parameters |
|---|---|---|
client.open_inbox() | Initialize inbox access | None |
client.list_messages(page) | List messages in inbox | page: int = 1 |
client.fetch_message(msg_id) | Fetch specific message content | msg_id: str |
client.send_message(to, subject, body) | Send email to YOPmail address | to: str, subject: str, body: str |
client.get_inbox_info() | Get inbox overview | None |
from yopmail_client import YOPMailClient
# Full client control with send functionality
with YOPMailClient("mailbox") as client:
client.open_inbox()
# Send a message
result = client.send_message(
"recipient@yopmail.com",
"Important Update",
"This is an important message with details..."
)
# Get RSS feed URL
rss_url = client.get_rss_feed_url("mailbox")
print(f"RSS URL: {rss_url}")
# Get RSS feed data
rss_data = client.get_rss_feed_data("mailbox")
print(f"RSS has {rss_data['message_count']} messages")
# List and process messages
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]}...")
# List all messages
yopmail-client yourmailbox --list
# Show detailed message information
yopmail-client yourmailbox --list --details
# Fetch specific message content
yopmail-client yourmailbox --fetch MESSAGE_ID
# Send an email message
yopmail-client yourmailbox --send --to "recipient@yopmail.com" --subject "Test Subject" --body "Test message body"
# Get RSS feed URL
yopmail-client yourmailbox --rss
# Get RSS feed data
yopmail-client yourmailbox --rss-data
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
Required: Create yopmail_config.py in your project directory:
# yopmail_config.py
API_KEY = "YOUR_LICENSE_KEY_HERE" # Required: Get from developer
PROXY_URL = None # Optional: "http://proxy:8080"
PROXY_LIST = None # Optional: ["http://proxy1:8080", "http://proxy2:8080"]
PROXY_ROTATION = False # Optional: Enable proxy rotation
config = {
"rate_limit_detection": True,
"rate_limit_delay": 2.0, # seconds
"max_retries": 3
}
messages = check_inbox("mailbox", config=config)
# Via yopmail_config.py (recommended)
PROXY_URL = "http://proxy:8080"
PROXY_LIST = ["http://proxy1:8080", "http://proxy2:8080"]
PROXY_ROTATION = True
# Or via config parameter
config = {
"proxy_enabled": True,
"proxy_list": [
"http://proxy1:8080",
"http://proxy2:8080"
],
"proxy_rotation": True
}
# 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
We welcome contributions! Please see our Contributing Guidelines for details.
# Clone and setup development environment
git clone https://github.com/DeGanLabs/yopmail_auto.git
cd yopmail_auto
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest tests/
This project is licensed under the MIT License - see the LICENSE file for details.
This software is provided for educational and research purposes only.
The authors are not responsible for any misuse of this software.
FAQs
A secure, licensed Python client for YOPmail disposable email service with license validation, send and RSS functionality
We found that yopmail-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.