Official Python client for the EmailAlias.io REST API.
API access is a Premium feature. Generate a key from Settings → API Keys in the web dashboard.
pip install emailaliasOr from source:
pip install git+https://github.com/emailalias/emailalias-python.gitfromemailaliasimportClientclient=Client(api_key="ea_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
# Create an aliasalias=client.create_alias(alias_type="random", label="Shopping")
print(alias["alias_email"]) # e.g. "x7k9m@email91.com"# List aliasesforainclient.list_aliases():
print(a["alias_email"], "→", a["destination_email"])
# Forward to a verified additional destinationalias=client.create_alias(
alias_type="custom",
custom_code="work-signup",
label="Work",
destination_email="work@mycompany.com", # must be verified on your account first
)
# Send email from an aliasclient.send_email(
alias_id=alias["id"],
to_email="recipient@example.com",
subject="Hello",
body="Sent from my alias.",
)
# Disable an aliasclient.update_alias(alias_id=alias["id"], active=False)fromemailaliasimportClient, AuthenticationError, RateLimitErrorclient=Client(api_key="ea_live_xxx")
try:
client.list_aliases()
exceptAuthenticationError:
# Invalid key, or account is no longer Premium
...
exceptRateLimitError:
# Respect X-RateLimit-Reset and retry
...client=Client(
api_key="ea_live_xxx",
base_url="https://emailalias.io", # override for staging/self-hosttimeout=30.0,
)| Method | Endpoint |
|---|---|
list_aliases() | GET /api/aliases |
create_alias(...) | POST /api/aliases |
update_alias(id, active=, label=) | PATCH /api/aliases/{id} |
update_alias_display_name(id, display_name) | PATCH /api/aliases/{id}/display-name |
delete_alias(id) | DELETE /api/aliases/{id} |
list_available_domains() | GET /api/aliases/domains |
list_destinations() | GET /api/destinations |
add_destination(email) | POST /api/destinations |
resend_destination_verification(id) | POST /api/destinations/{id}/resend |
delete_destination(id) | DELETE /api/destinations/{id} |
send_email(alias_id, to_email, subject, body, html_body=) | POST /api/send-email |
list_domains() | GET /api/domains |
add_domain(name) | POST /api/domains |
verify_domain(id) | POST /api/domains/{id}/verify |
delete_domain(id) | DELETE /api/domains/{id} |
get_dashboard_stats() | GET /api/analytics/dashboard |
list_logs(page=, per_page=) | GET /api/analytics/logs |
list_exposure_events(page=, per_page=) | GET /api/analytics/exposure |
Full API reference: https://emailalias.io/documentation
MIT