All help articles

Mailing lists

A mailing list is an address on one of your team's domains that sends what it gets to its members. Members can be mailboxes here or addresses anywhere else. Make lists in the team manager (Mailing lists on the team page), through the API (/v1/tenants/{tenantId}/lists) or from the command line (corpsuite list add).

Two kinds

KindWhat members getGood for
DistributionThe message as sent, From and Subject unchangedGroup addresses: sales@, support@, board@
DiscussionThe message from the list, with the subject prefix and unsubscribe linksTeams, clubs and announcements where people reply to everyone

A discussion list sends each post as the list. From becomes "Amy via Team" <team@your-domain> and is signed with your domain's DKIM key, so receivers' DMARC checks pass even when the author's domain has a strict policy. The author's address is kept in X-Original-From. Replies go to the list, or to the author if you choose Replies go to: the author.

Every post carries List-Id. Discussion lists also add List-Post, List-Owner, List-Subscribe (when people may join) and a List-Unsubscribe link of each member's own, with one-click unsubscribe (RFC 8058). Mail apps and Gmail show an Unsubscribe button for it.

Who may post

SettingWho
MembersAnyone on the list (the default)
The team's mailboxes and membersMembers, plus every mailbox and alias of your team
Moderators onlyFor announcement lists
AnyoneAnyone at all

Except for Anyone, a post from another server counts as from a member only when it passes DMARC, so nobody can post by forging a member's address. Posts sent by your own users (webmail, mail apps) are always trusted.

Other posts are held for a moderator (the default) or refused. A refused sender gets an error at once. Posts that Rspamd marks as likely spam are held too, and ones it would reject are refused.

Moderators

Mark a member as a moderator. Moderators:

A moderator who should not get the posts can have Gets the posts turned off.

Plus addresses: the list's commands

Each list answers to a few plus addresses of its own:

AddressWhat it does
list+subscribe@ (or +join)Asks to join. A link is mailed to the sender, and they join only once they confirm it.
list+unsubscribe@ (or +leave)Mails a member their own unsubscribe link. Nothing happens for an address not on the list.
list+owner@Reaches the moderators.
list+bounce-…@The envelope sender of each member's copy, so bounces are counted per member (see below).

Who may join themselves decides whether +subscribe works:

Because joining is always confirmed by a link sent to the address, mail with a forged sender joins nobody. Only one confirmation is sent to an address per list per day. Requests not confirmed within 7 days end.

Members can use their own plus address too. With plus-address folders on for their domain (see Plus addressing), a member added as amy+team@your-domain gets the list's posts filed in a team folder.

Bounces

Each member's copy goes out from list+bounce-<token>@your-domain, a token of that member's own. When a member's server bounces a copy, the bounce is counted for that member. Five bounces within 30 days stop delivery to them, and the member list shows stopped. Choose Start again (or put the member again through the API) once the address works.

Limits

The plan sets how many lists a team may have (maxLists, 10 by default) and how many members one list may have (maxListMembers, 1000 by default). A list's address is its own: no mailbox or alias can take it, and a list cannot take theirs. Lists live on your team's own domains, not on shared ones, and move with their domain.

Command line

corpsuite list add acme address=team@acme.com name=Team kind=discussion subjectPrefix="[team]" joining=team
corpsuite list member add team@acme.com amy@acme.com name=Amy moderator:=true
corpsuite list members team@acme.com
corpsuite list held team@acme.com
corpsuite list held approve team@acme.com HELD-ID
corpsuite list set team@acme.com whoCanPost=anyone others=reject

See The command line for the rest.

Not yet