All help articles

Access blocks

Access blocks refuse sign-up, sign-in and/or opening support tickets by who is asking. They cover Zappocity accounts and Mailocity mailboxes alike. Use them for a known bad actor: a throwaway email service, a network that keeps creating fake accounts, or someone who floods the help desk.

Find them in either admin panel under Settings → Access blocks, or with corpsuite access-block ....

What a rule matches

KindMatchesExample
Email addressThat address. A +tag is ignored, so amy+x@example.com is amy@example.com.amy@example.com
Email domainThe address's domain and every domain under it.spam.example
IP address or networkWhere the request comes from.203.0.113.0/24, 2001:db8::/48
AS numberThe network (autonomous system) the IP address belongs to.AS64500
CountryThe country of the IP address's network.NL
Mail servers (MX)The mail servers of the address's domain, and hosts under the name. This catches a throwaway service with many domains on the same servers.mx.disposable.example
Name servers (NS)The name servers of the address's domain, and hosts under the name.ns1.bad-dns.example

AS number and country rules need an IPNetDB file, set under Abuse protection. Without one they match nothing, and the page says so.

If a DNS lookup fails, the rule matches nothing. A block is meant to stop known bad actors, and a DNS outage elsewhere must not lock everyone out.

What a rule refuses

Tick any of the three:

People are told only that this is not allowed from where they are, not which rule refused them. A refused sign-in is answered like a locked account. It is recorded in the sign-in history as "blocked", and it does not count towards locking the account.

Ending, replacing and testing

Changes take effect within 30 seconds on every server.

Command line and API

corpsuite access-block
corpsuite access-block add kind=mx value=mx.disposable.example 'applies:=["signup","tickets"]' note="Throwaway addresses"
corpsuite access-block add kind=ip value=203.0.113.0/24 'applies:=["signin"]' days:=30
corpsuite access-block test action=signup email=someone@disposable.example ip=203.0.113.9
corpsuite access-block remove ID

In the admin API: GET and POST /v1/access-blocks, DELETE /v1/access-blocks/{blockId} and POST /v1/access-blocks/test (settings permission to change them). See api/openapi.yaml.

Access blocks are separate from domain blocking, which refuses or files incoming mail, and from the reputation checks under Abuse protection, which score sign-ups.