guerrillamail-client

An async Rust API client for the GuerrillaMail temporary email service, built for testing and automation.
This crate lets you programmatically create disposable email addresses, poll inboxes, and fetch message contents using an idiomatic async Rust API built on tokio and reqwest.
⚠️ Unofficial API
GuerrillaMail does not provide a documented public API. This client reverse-engineers the web interface and may break if GuerrillaMail changes their frontend behavior.
When to use this
- Email-based testing (signups, verification emails, password resets)
- Automation and scraping workflows
- CI / integration tests that need a disposable inbox
- Account generators and security tooling
Features
- Async/await first — built on
tokioandreqwest - Create temporary email addresses
- Poll inbox messages
- Fetch full email contents
- Forget/delete addresses
- Proxy support (e.g. Burp, mitmproxy)
- Configurable TLS + User-Agent
- Well-typed errors with proper chaining
Installation
Add to your Cargo.toml:
[]
= "0.7.1"
= { = "1", = ["full"] }
Quick start
use Client;
async
Downloading attachments
use Client;
async
Configuration via builder
For proxies, stricter TLS, custom user agents, or a different request timeout, use the builder API:
use Client;
let client = builder
.proxy
.danger_accept_invalid_certs
.user_agent
.timeout // default is 30s; customize as needed
.build
.await?;
Documentation
For detailed API documentation, visit docs.rs/guerrillamail-client.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Acknowledgements
This project was inspired by and partially based on
GuerrillaMail-Python.
Support
If this crate saves you time or helps your work, support is appreciated:
License
This project is licensed under the MIT License; see the license file for details.