Everything you need to know about using MailFlusher.
Visit the registration page and choose a username. This username becomes your personal subdomain — for example, if you choose "mrunknown", your aliases will be anything@mrunknown.mailflusher.com.
You'll also need to provide your real email address (where forwarded emails will be sent) and a password. After registering, verify your email address by clicking the link in the verification email.
You can also sign up with Google for faster registration.
There are two ways to create aliases:
1. On-the-fly (with catch-all enabled): Simply make up any email address using your subdomain and use it anywhere. For example, give out shopping@mrunknown.mailflusher.com when signing up to an online store. The alias is created automatically when it receives its first email.
2. From the dashboard: Log in, go to Aliases, and click "Create Alias". You can choose a random format (random characters, random words, UUID) or enter a custom local part.
When you receive a forwarded email, the From header contains an encoded reply address like:
alias+sender=example.com@mrunknown.mailflusher.com
Simply click "Reply" in your email client — it will automatically use this encoded address. The reply is routed through MailFlusher so the recipient only sees your alias, never your real email.
You can verify the reply was sent by checking the reply count on your alias in the dashboard. Note: Reply/send is available on Standard and Pro plans.
To send an email from an alias to hello@example.com using the alias myalias@mrunknown.mailflusher.com, compose an email to:
myalias+hello=example.com@mrunknown.mailflusher.com
Replace the @ in the destination address with =. The email will appear to come from your alias. You must send from a verified recipient address on your account.
When an alias is deactivated, all emails sent to it are silently discarded. The sender will not receive any error or bounce message — the emails simply disappear. You can reactivate the alias at any time to resume receiving emails.
When an alias is deleted, emails sent to it will be rejected with an error message: "550 5.1.1 Address does not exist". The sender will be notified that the address doesn't exist.
Deleted aliases can be restored from the Aliases page by filtering for "Deleted only".
With catch-all enabled, any email sent to your username domain will be forwarded to you — even if the alias doesn't exist yet. The alias is automatically created on its first email. For example, if your username is "mrunknown", emails to anything@mrunknown.mailflusher.com will be received.
Without catch-all, only pre-existing aliases will receive email. Catch-all is available on Standard and Pro plans.
A burner alias is a regular alias that automatically deactivates after a time limit or after it has received a certain number of emails. It behaves identically to a normal alias until the limit is reached, at which point it is treated as inactive — further mail is either silently discarded or bounced back to the sender, your choice.
To create one: open the "Create new alias" dialog, tick "Make this a burner alias", and pick an expiry preset (1 hour, 24 hours, 3/7/30 days) and/or an email-count preset (1, 3, or 10 emails). You can set both — the alias expires on whichever trigger fires first.
On-expiry behaviour: Silently discard drops future mail without notifying the sender (they think the email was delivered). Bounce back to sender returns a standard "does not accept mail" error so the sender knows the address is dead.
Plan limits: Free users can have up to 2 active burners at a time, Standard up to 20, Pro unlimited. Expired burners don't count against the limit.
Every time mail arrives at one of your aliases we record the sender domain. After the first sender (or after 14 days), we lock a "baseline" — the brand this alias belongs to. From then on, any email from an unrelated domain is a leak candidate.
Before we flag it, we check two allowlists:
If a new sender clears both checks, it shows up in the amber "suspected leaks" panel on your dashboard. You can Confirm (treat as a real leak — useful if you want to deactivate the alias and know who sold your data) or Dismiss (not a leak, ignore this sender from now on).
Attribution runs best-effort — it never delays or blocks a forwarded email.
Most marketing emails contain two kinds of tracking:
email.mailchimp.com/click?...) that logs every click before forwarding you to the real destination.Enable tracker stripping in Settings → General → Email Tracker Stripping and we'll clean every forwarded email before it reaches your inbox.
Pixels only is the conservative mode and available on all plans. We remove 1×1 tracking images and any image hosted on a known tracker domain (Mailchimp, HubSpot, SendGrid, Klaviyo, Braze, Meta, Google Analytics, and others). Link tracking is not touched.
Pixels and links is available on Standard and Pro. It does the above, plus rewrites every link in the email to go through https://app.mailflusher.com/r/<token>. When you click, we strip UTM, Facebook click id, Google click id, HubSpot, Mailchimp and similar tracking parameters, then redirect you to the clean destination. This breaks whatever analytics the sender was relying on.
Some poorly-written emails can look broken with link rewriting enabled (anchors with visible raw URLs, for example). If you see an email that looks wrong, switch back to Pixels only.
No. Unsubscribe links that come through standard List-Unsubscribe headers are preserved and routed to your email client's native unsubscribe button. In-body unsubscribe anchors are rewritten through the proxy the same as any other link, but they still work — we only strip tracking parameters, we never change the destination.
If anything does look off, tracker stripping is fully reversible — toggle it off in Settings and future emails will be delivered untouched.
The email is forwarded as-is. The stripper is wrapped in a try/catch — if anything at all goes wrong (malformed HTML, weird character encoding, unknown edge case), we log the problem and let the original email through unchanged. Tracker stripping never blocks or delays delivery.
Recipients are your real email addresses where forwarded mail is delivered. Your default recipient is the email address you registered with. Depending on your plan, you can add additional recipients and assign different ones to different aliases.
Go to Recipients, click on a recipient to edit it, and add your public GPG/OpenPGP key. Once added, all emails forwarded to that recipient will be encrypted before delivery — including attachments.
You can also enable protected headers to encrypt the email subject line. This provides maximum privacy as even we cannot read the content of your forwarded emails.
Custom domains are available on the Pro plan. To add one:
Allow time for DNS propagation. You can use a subdomain (e.g., mail.example.com) if you're already using the apex domain for email elsewhere.
If your domain is already used for email (e.g., with Gmail, ProtonMail, or another provider), you cannot also use the same domain with MailFlusher — email can only be handled by one mail server at a time.
Instead, use a subdomain like mail.example.com. This won't interfere with your existing email setup, and you'll be able to create aliases like anything@mail.example.com.
Bandwidth is the total size of emails processed through your account each month. It is incremented each time an email is forwarded or a reply/send is made. Blocked emails (deactivated or deleted aliases) do not count towards bandwidth.
Bandwidth resets at the start of each month. Limits by plan: Free (10 MB), Standard (200 MB), Pro (unlimited). You'll receive a notification when you approach your limit.
When you delete your account:
This action cannot be undone. You can delete your account from Settings > Delete Account.
No. Emails are processed in memory and forwarded immediately to your recipient address. We do not store the content of any emails.
The only exception is if you enable "Store Failed Deliveries" in Settings — in that case, failed emails may be temporarily stored so you can retry delivery. This feature is available on Standard and Pro plans.
Ghost Inbox is a Pro-only feature that lets you flag an alias as "ghost mode" — incoming mail is stored in an encrypted browser-only inbox rather than forwarded to your real address. Useful for one-time codes, trial signups, or any mail you want to read but don't want cluttering your real inbox.
The critical property: stored messages are encrypted with an OpenPGP key pair that only your browser can unlock. Even we cannot read the content.
When mail arrives at a ghost-mode alias, the server encrypts the raw MIME with your public key and stores the ciphertext. Plaintext never hits disk. You read by entering your passphrase in the Ghost Inbox page; decryption runs locally.
Your stored emails are unrecoverable. We don't have the passphrase and we can't regenerate the private key — that's the point. You'll have to destroy the vault (which deletes all stored emails) and set up a new one.
To avoid this, save the recovery sheet we offer you when the vault is created. It contains the armored encrypted private key that can be decrypted with any OpenPGP tool (Thunderbird, GnuPG CLI, etc.) using your passphrase — useful if our site is ever unavailable.
30 days by default. A scheduled job deletes anything older automatically. You can also delete individual emails or destroy the whole vault at any time.
Yes, but only the first 10 characters of each, and only if you opt in. Settings → Ghost Inbox lets you pick:
Ghost Inbox defends against: database leaks, stolen backups, subpoena of stored content (we hand over ciphertext, not plaintext), compromised DBA credentials.
It does NOT defend against: an attacker who actively compromises our application server and pushes malicious JavaScript that captures your passphrase at unlock time. This is a fundamental limit of any browser-delivered end-to-end crypto — the same limit applies to Proton Mail, Tutanota, and every other "web E2E" system. For absolute guarantees, use an external OpenPGP tool with the public key we store for you.
alias.received — fires after an email is forwarded. Payload: alias id + email, from header, subject, size_bytes.alias.blocked — fires when a user rule blocks a forward. Same shape as received.alias.leaked — fires when leak attribution creates a new suspected-leak event. Payload: alias id + email, the unexpected sender_domain, the baseline sender we learned, and detected_at.Every delivery carries an X-MailFlusher-Signature header of the form sha256=<hex-hmac>. Compute hmac_sha256(secret, raw_request_body) on your end with the per-webhook secret we showed you once on creation, and compare with constant-time equality. Reject anything that doesn't match.
Other headers: X-MailFlusher-Event (the event name), X-MailFlusher-Delivery-Id (unique id you can use for idempotency).
We retry with exponential backoff: 1 min, 5 min, 30 min, 2 h, 12 h. After 5 total attempts the delivery is marked giving_up and we stop. Every attempt — successful or not — is visible in the per-webhook delivery log with the response code, response body (truncated), and timestamp. No silent failures.
Yes. URLs must be HTTPS. Loopback (127.0.0.1, localhost) and link-local (169.254.*) addresses are rejected. This is a basic SSRF protection — the webhook would be running in our workers otherwise.
Descriptions and active/paused states are preserved. The new aliases live on your MailFlusher username subdomain — the email addresses themselves change, because we can't take over domains we don't own.
Nothing. This is a copy, not a move. Your SimpleLogin / Addy.io account is untouched; the originals keep forwarding mail there unless you deactivate them yourself. Update the signup services to the new MailFlusher aliases at your own pace, then deactivate the originals.
Not automatically — Firefox Relay has no public user-facing API we can call. Export your aliases from Relay's settings, then reach out via the contact form with the file and we'll import them manually. Free, one-off.
Yes — verified working. MailFlusher's API responds to Bitwarden's "addy.io" forwarded-alias requests the same way Addy.io does, so you can create aliases from Bitwarden's password generator without leaving the app.
Setup:
<your-username>.mailflusher.com — e.g. if your username is mrunknown, use mrunknown.mailflusher.com.https://app.mailflusher.comBitwarden will now generate aliases on MailFlusher whenever you use its email generator. If Bitwarden returns a validation error on the Domain field, check that the domain exactly matches one of the options in your Aliases → New Alias domain dropdown in MailFlusher.
1Password doesn't currently ship a native Addy.io / MailFlusher integration out-of-the-box. Two workarounds work well:
Option A — pre-create aliases in MailFlusher, save them in 1Password: create an alias in the dashboard, copy it, and paste it into 1Password's username field when saving a new login.
Option B — use the API from a shortcut: on macOS or iOS, create a Shortcut that calls POST https://app.mailflusher.com/api/v1/aliases with your API token, then pipe the result into 1Password. Advanced but reliable.
If you'd like a first-class integration, please request it in the 1Password community forum — provider support is decided by 1Password, not us.
Go to Settings → API, click "Create new token", give it a memorable name, and copy the token. Treat it like a password — anyone with the token can create or delete aliases on your account. You can revoke it at any time from the same page.
MailFlusher's API was originally derived from Addy.io and still exposes many of the same /api/v1/ endpoints. Most third-party Addy.io clients (browser extensions, mobile apps, CLI tools) will work if you point them at https://app.mailflusher.com as the custom server URL.
If a client hardcodes the addy.io domain and won't accept a custom host, please let us know via the contact form — we're tracking compatibility and working on official MailFlusher browser extensions and a mobile app.
Go to Settings > Subscription and click "Upgrade" on the plan you'd like. You'll be redirected to Stripe's secure checkout to enter your payment details. Your new plan activates immediately after payment.
When you cancel, your subscription remains active until the end of the current billing period. After that, your account reverts to the Free plan. You can resume your subscription before the billing period ends to keep your current plan.
After downgrading to Free, features beyond the Free plan limits (extra aliases, recipients, rules, etc.) will become inaccessible but are not deleted.
We use Stripe for payment processing. Stripe accepts all major credit and debit cards (Visa, Mastercard, American Express), as well as regional payment methods depending on your country. Your payment details are handled entirely by Stripe — we never see or store your card information.
Can't find what you're looking for? Get in touch and we'll help you out.
Contact Support