Campaigns

A campaign is one message sent to everyone on one or more of your mailing lists: a product update, a changelog, a notice that your terms changed. Each subscriber receives their own copy, addressed to them alone, from one of your mailboxes on your own domain. Replies arrive in your inbox under the person who wrote, like any other mail.

Every plan can build: create lists, add the people who wrote to you, and design campaigns in the editor with preview and a test to your own address. Sending starts on Pro. On Free and Plus the send button, uploads and the subscribe page are closed, and a banner links to the plans; what you built is there, unchanged, when you upgrade.

Lists, and who may be on one

A list belongs to a mailbox, which is what its campaigns are sent from, and carries a sender line: your name and postal address, printed under everything the list sends. An address becomes a subscriber in exactly two ways.

  • They wrote to you. Add from contacts offers the contacts who have sent mail to one of your mailboxes. Their mail is the permission, so they are subscribed at once. A contact created only through the API, who has never written, is not offered.
  • They confirmed. Anyone who asks to join (through the list's subscribe page, a form on your site, or your application through the API) receives one email from your mailbox asking them to confirm, and is subscribed when they click the button on the page it opens. Until then they are pending and receive nothing else.

There is no way to subscribe an address outright, from the dashboard or the API. That is deliberate: every customer's mail leaves through the same provider, and a list nobody agreed to is what gets a sender blocked.

Uploading a list you already have

Upload a list takes a CSV or pasted lines (an address, optionally a name). An upload invites; it does not subscribe. Each person receives the same confirmation request, once, and joins when they confirm. Addresses already on the list, addresses that bounced or complained before, and anyone invited in the last 90 days are passed over, and the dialog says how many of each. The list page shows how each upload's invitations are doing.

Invitations go out a few at a time and count against a daily allowance. An upload whose first invitations bounce is stopped, and one that almost nobody confirms pauses list mail for the domain: both are the signature of a list that was bought or scraped rather than built.

The subscribe page

Every list has a hosted page at app.foundermail.mx/s/<key>, shown on the list page with a copy button and a plain HTML form you can put on your own site. It speaks the list's language, or the visitor's browser's when we have it.

Writing the message

A new campaign opens in the block editor. The message is a column of blocks (heading, text, image, button, divider, spacer, and two columns that stack on a phone); click one in the palette to add it, drag it to where it belongs, select it to change it on the right. Text is edited in place with bold, italics, lists and links, which is what every mail client shows. Colours and the typeface are set once for the whole message. Drafts save as you work.

  • Images are uploaded to us and linked, not attached, so the message stays small: PNG, JPEG, GIF or WebP, up to 1 MB each, within a storage allowance per plan. Give each a description; it is what people see while images are off.
  • Placeholders. {{name}} becomes the subscriber's name and {{email}} their address.
  • The footer is not a block. Your sender line, why the person is receiving the message, and the unsubscribe link are added to every copy and cannot be removed.
  • Preview shows the message as it is built for sending, at desktop and phone width. Send test mails it to your own sign-in address.

Review and send

Review and send checks everything that would stop the campaign or embarrass its sender, and the server refuses on the same checks:

  • the sending mailbox's domain is verified for sending and approved for outbound access;
  • the domain publishes a DMARC record, which Gmail and Yahoo require of anyone who sends to a list;
  • there is a subject, at least one list with subscribers, and a sender line;
  • the built message is small enough that Gmail shows it whole;
  • the month's campaign allowance has room for every recipient. A campaign is admitted whole or refused whole; it never stops halfway for lack of allowance.

Send now, or schedule a time. The audience is fixed when you confirm: someone subscribed to two of the chosen lists gets one copy, people who join afterwards are not included, and anyone who unsubscribes before their copy goes out is skipped.

Sending is paced. A first small batch goes out, then there is a pause of a few minutes while we watch for bounces, then the rest follows at a steady rate. You can hold, resume or stop a campaign from its page; stopping returns the unsent copies to your allowance. A campaign is stopped automatically if its bounces pass a small share of what has been delivered or if anyone marks it as spam. List mail from that domain is then paused, you and we are told why by email, and ordinary correspondence is not affected.

The report

A campaign's page shows copies sent, replies, unsubscribes, bounces, spam complaints and copies not sent, and lists every recipient with what happened to theirs. There is no open or click tracking: no pixel is added and links are not rewritten. The mailbox's Sent folder keeps one copy of the campaign, not one per reader.

Unsubscribing

Every copy carries an unsubscribe link in its footer and the List-Unsubscribe and List-Unsubscribe-Post headers, so Gmail, Apple Mail and others show their own unsubscribe button and it works in one click. A message to the list's unsubscribe address works too. Someone who leaves is recorded as having left: a later upload does not invite them again, and adding them from contacts skips them. An address that bounces permanently or complains is never written to again by any of your lists.

Limits

FreePlusProScale
Campaign sends per month——5,00025,000
Subscribers, across all lists——2,50010,000
Lists——5Unlimited
Confirmation requests per day——5002,000
Image storage——100 MB500 MB

Campaign sends are counted separately from the monthly send allowance for correspondence, and are not subject to the daily limit on writing to new contacts: everyone on a list asked to be there. Both figures are on Billing › Usage. On Free, lists and drafts have Pro's room and a small image allowance, and nothing is sent. If you move back to Free, your lists and drafts are kept and stop sending.

Lists from your application

The REST API has list endpoints under two scopes, lists:read and lists:write, so a signup or a checkout can ask somebody to join:

  • GET /lists and GET /lists/{key}/subscribers read lists and the people on them;
  • PUT /lists/{key}/subscribers/{email} sends that address the confirmation request. It has no option to skip it;
  • DELETE /lists/{key}/subscribers/{email} takes somebody off, recorded as having left.

{key} is the key in the list's subscribe page address. No API key and no MCP tool can create or send a campaign: that is done by a person, in the dashboard, after the review.

Say hello

Say hello

A question before you sign up, or something that is not working: write it here and a person answers by email.

A person answers by email, usually within a day.