If your Mailman host is shutting down, you are not alone. The forced migration is an inconvenience – but it is also a chance to upgrade your list’s privacy posture while you are making the move anyway.
Is EMail Parrot a Good Fit?
EMail Parrot is not a drop-in Mailman replacement for every use case. Before you invest time migrating, here is an honest read on where it fits well and where it does not.
Good fit:
- Your members post and reply by email – conversations happen through the list, and you want to protect every participant in those conversations.
- You want a closed list where only members can post. Non-member senders are rejected, the same way Mailman’s closed list mode works.
- Privacy matters: members include advocates, medical or legal professionals, or anyone who would rather not have their identity, location, or reading habits visible to senders.
- You want tracking pixels, fingerprinting links, and identifying metadata stripped from every message before it reaches your members.
- You want to limit the blast radius of a member’s email address being exposed in a breach or data sale – each member’s real address is never shared with other members or with senders.
- You need sublists (subgroups within the main list) or direct messages between members – both routed through the relay so no one’s real address is exposed.
- Ideal for list sizes of 500 members or less. Contact us to import lists larger than 500.
Not a good fit – yet:
- A significant portion of your members rely on receiving messages bundled into a single daily delivery rather than individually. EMail Parrot delivers each message as it arrives. For members who want a way to review past messages on their own schedule, see the archive workaround below. More advanced summary options are under investigation.
- Your list is announcement-only with no member replies and you have no privacy requirements. A simple BCC broadcast covers that use case for less.
What You Gain
Tracking removed before delivery. Every message passes through EMail Parrot’s relay before reaching members. Tracking pixels are removed. Fingerprinting links are stripped or flagged with a recoverable links file so members keep access to the original URL. CSS-based passive trackers, dangerous links, and identifying metadata are neutralized. Members receive a clean, rebuilt message – not a forwarded copy of the original.
Member identities are protected within the list. Each member is registered under a pseudonym. That pseudonym is their display name in the list and also their address for direct messages between members. When someone posts, other members see the pseudonym – not the sender’s real address. Neither side of any message thread ever sees the other’s real email address.
Controlled announcements with reply options. EMail Parrot supports a mode where an administrator sends announcements to the full list and member replies route only back to the admin, not to the whole group. The admin can then choose to release a reply to the full list if it merits wider discussion. This gives you the control of an announcement list with the reply privacy of a relay.
Sublists and direct messages. Members can be organized into named sublists for targeted posts. Direct messages between members route through the relay – neither party exposes their real address to the other, and the conversation stays within the list’s privacy envelope.
Content scanning on every message. Inbound messages are screened for spam, phishing, malicious attachments, and dangerous links before delivery. Virus scanning runs on every message and attachment. Unsafe attachment types are rejected at the relay. For organizations where it is a concern, scanning for AI prompt injection attacks – malicious instructions hidden inside email content intended to manipulate recipients – is also available.
Virtual Private Email (VPE). For members who want to initiate contact with people outside the list without revealing their real address, VPE lets them send outbound messages through the relay using a list-namespaced alias. Replies come back through the same alias. The external party’s email address is visible to the list member (in a readable encoded form), but the list member’s real address is never exposed to the other side.
You control how strictly the relay behaves. Protection settings are configurable per list. For lists where certain senders legitimately include tracking elements, settings can be adjusted. For high-sensitivity groups, they can be tightened. The relay enforces your settings – not the senders, and not the members.
The liability your list carries goes down. Running a discussion list means member email addresses, reading habits, and participation patterns flow through your infrastructure. When a message with tracking pixels or fingerprinting links reaches your members unchanged, you were the one who let it through. EMail Parrot removes that exposure. Every message is cleaned before delivery, member addresses are never shared, and you can point to exactly how your list protects the people on it. As a list operator, that kind of demonstrable care is the difference between taking on liability and discharging it.
What Is Different
Pseudonyms are required – and that is the point. When you import your member list, each member needs a pseudonym. The pseudonym is their name within the list and also the address used for direct messages between members. This is new work compared to a plain address import, and it is where most of the privacy value comes from.
When you export from Mailman, your roster may include display names (“First Last <email>”). You can use a version of those names as pseudonyms – but be deliberate: the pseudonym is visible to everyone on the list, so choose something that identifies the person to their fellow members without exposing more than they would want.
If a name is not provided at import, EMail Parrot will fall back to using the local part of the email address (the part before the @) as the pseudonym. This is a convenience, not a recommendation – a username like “jsmith” or “sarah.jones” can still be identifying. Unique, purpose-chosen pseudonyms are strongly preferred. Members can update their own pseudonym through member settings after the import.
EMail Parrot is an email relay – it does not host an archive. As a relay, every message is processed through and a per-recipient version is delivered to each member; the relay is not a storage layer. For members who want to browse past conversations, a practical workaround is to add a dedicated mailbox address as a member of your list. Every message EMail Parrot relays lands in that mailbox – already privacy-cleaned – and members with IMAP access to that mailbox can search it like any other inbox. Any provider that supports IMAP and app passwords works for this (Fastmail, MXRoute, and similar services are common choices; we are not endorsing any specific provider).
One thing to keep in mind: the archive mailbox only receives messages it is a member of. If you use sublists or direct messages, those will not appear in a general archive mailbox unless it is added to each sublist as well. Direct messages between two members are not captured in a shared archive at all.
Pricing
$5/month per list. That covers up to 5,000 email deliveries and 5GB of data per month. A delivery is one email sent to one member – so a list of 100 members receiving one message means 100 deliveries.
Some context on the delivery count for larger lists:
| List size | Emails received per member per month | Monthly deliveries |
|---|---|---|
| 50 members | 100 | 5,000 – at the base limit |
| 100 members | 50 | 5,000 – at the base limit |
| 200 members | 25 | 5,000 – at the base limit |
| 500 members | 10 | 5,000 – at the base limit |
Active discussion lists with more than 100-200 members will likely need overage blocks. Overages are $2 per additional 10,000 deliveries + 10GB and are added to the next invoice – no automatic charges. Usage is visible in the admin portal.
For organizations with multiple lists: $10/month hosts unlimited lists under your own subdomain (e.g., lists.yourorg.com). Each list can have unlimited sublists. Delivery limits are shared across all lists. This unlocks configurations that are not practical with standalone lists: a separate list address for each team, project, or working group under your organization’s domain, each with its own set of sublists, all on a single billing relationship. You can also control VPE access per list – some lists open to member-initiated contact with external addresses, others fully closed to anything outside the membership. One practical example: if your organization runs outreach volunteers who contact people outside the membership, you can set up a dedicated outreach list with VPE enabled alongside your main discussion list. Outreach volunteers work through the relay without needing separate email accounts or paid seats – the list address is their contact identity – and your main membership list stays fully closed. This can meaningfully reduce costs compared to provisioning individual seats for a constantly changing group of volunteers.
30-day free trial on your first list. No credit card required to start.
How to Migrate
Step 1 – Start your free trial
Go to emparrot.com/admin/create_account/ and create an account with the email address you want to administer the list. From the admin portal, create your trial list at the emparrot.com domain.
Two things to know before you start: the trial limits your list to 25 members, and lists are hosted at emparrot.com until you enter a payment method. Custom domains require a paid account and DNS setup with support – so your trial work happens at an emparrot.com address. That is fine. Use the trial to verify that EMail Parrot works the way you expect before committing your full membership.
Step 2 – Export your Mailman member list
In Mailman 2, go to your list admin page -> Membership Management -> Membership List. Click “Download member list.” The export typically contains one address per line in “Display Name <email>” format.
In Mailman 3 (Postorius), go to your list -> Members -> Export.
Download and save the export before your Mailman host shuts down. Also save any Pipermail archives you want to keep – EMail Parrot does not import historical message archives.
Step 3 – Test with a small group
Add your own email address and one or two others – a colleague or a second address you control. (Your admin address is added automatically when the list is created, but by default you will not receive your own posts unless you enable self-delivery, so you need a second recipient to test delivery.) Send a few messages to your new list address. Confirm delivery, check that tracking is stripped, and verify the relay behaves the way you expect.
The 25-member trial cap gives you plenty of room to test without starting your billing clock.
Step 4 – Enter your payment method and optionally set up your domain
When you are satisfied, enter your credit card in the admin portal. This lifts the member limit to 500.
If you want your list at your own domain (e.g., members@yourorg.com or lists.yourorg.com) rather than at emparrot.com, set that up now before importing your full membership. Custom domains require a paid account and DNS configuration – contact support@emparrot.com and we will walk you through the changes and create your list at your domain. A dedicated subdomain for your list relay (e.g., lists.yourorg.com) is recommended to keep it separate from your organization’s main hosted email.
Step 5 – Prepare your import CSV
Your CSV must have a header row with at minimum an email column. A name column
for pseudonyms is strongly recommended. Additional columns (sublist, self_email,
moderate, nomail, list_admin) are optional and default to empty/false if omitted.
Minimal import (two columns):
email, name
john@example.com, John S
sarah@example.com, Sarah M
If you import with only an email column, EMail Parrot will derive pseudonyms
from the local part of each email address (the part before the @). This is a
fallback, not a recommendation – those local parts may be identifying. You will
receive a warning in the import response, and members can update their pseudonyms
in member settings.
If your Mailman export uses “Display Name <email>” format, paste the whole
field into the email column. EMail Parrot will extract the address and discard
the display name – do not rely on the display name becoming the pseudonym.
Assign pseudonyms deliberately in the name column.
A few formatting notes for the name/pseudonym field:
- Use letters, numbers, spaces, hyphens, and underscores.
- The pseudonym is visible to all list members and is also the address used for direct messages between members – choose something recognizable but not more revealing than the member wants.
Step 6 – Import your full member list
Upload your CSV in the admin portal under Member Management -> Import Members. The import replaces the current member list – your test addresses will be removed unless they are included in the CSV.
If your list has more than 500 members, contact support before importing at support@emparrot.com. We will confirm capacity and adjust your limit before you hit an error on import.
Step 7 – Notify your members
Let your members know the list address has changed. Key things to tell them:
- Messages will arrive from a new sender address.
- Tracking content is stripped – some links may look different.
- Their real address is not visible to other members; they appear under a pseudonym.
- To post, they send to the new list address.
For most members this is an upgrade, not a downgrade.
FAQ
Can I keep my existing list address? If your list currently lives at something like mylist@lists.example.com, you can match that on the $10/month custom domain plan by hosting your lists under a subdomain of your own domain (e.g., lists.example.com). Using a dedicated subdomain for your lists is the recommended approach – it keeps your organization’s regular hosted email on your main domain separate from the list relay, avoiding conflicts between the two. With a DNS change on the subdomain, members keep their existing list address and do not need to update anything on their end.
What about members who want to receive less email? EMail Parrot delivers each message individually as it arrives. For members who prefer to review messages on their own schedule, the shared IMAP mailbox workaround described above works well as a browse-when-ready archive. More advanced options for summarizing threads are under investigation.
What happens to my Pipermail archive? Download it before your Mailman host shuts down. EMail Parrot does not import historical archives. For ongoing archiving of new messages, the shared IMAP mailbox approach above will capture everything the archive mailbox is a member of.
Is EMail Parrot right for a nonprofit? Yes. The $5/month pricing is intended to be accessible for small organizations. If cost is a barrier, contact us at info@emparrot.com.
Can members participate without knowing about the migration? Members can receive messages without any action. To post, they send to the new list address – that is the only change they need to make.
Questions? Email info@emparrot.com.
