✉️ MapleMail
Deliverability

How do I stop spam reaching my business email?

Most of the work happens in the ninety seconds before a message is accepted. Filtering is what you do with the survivors.

The sixty-second answer

Stop it before it is accepted rather than after. Turn off any catch-all, publish SPF, DKIM and DMARC so your domain cannot be forged, run filtering on the server rather than inside one app, and never auto-reply to unknown senders. Filtering is the last layer, not the first.

Spam control is layered, and the layers are not equal

Most people attack this problem from the wrong end. They start with the junk folder - training it, tuning it, building rules - and never touch the two settings upstream that decide how much reaches the folder in the first place.

Think of it as four gates. The first is whether the address exists at all. The second is whether the sending host is allowed to be sending as that domain. The third is server-side filtering at delivery. The fourth is your own inbox behaviour. The first two are configuration you do once. The last two are habits. In that order, they do most of the work.

Gate one: stop accepting mail for addresses that do not exist

By default a mail server rejects mail for an address it does not have. Where the recipient "is known not to be a deliverable address, the SMTP server returns a 550 reply, typically with a string such as 'no such user'" [1]. That rejection happens during the conversation between servers, before the message body is accepted.

The standard goes further and treats address-guessing as hostile activity to be repelled: if a server sees "a large number of RCPT TO commands... most or all with invalid addresses" as part of an attack, "it would be reasonable for the server to close the connection after generating an appropriate number of 5yz (normally 550) replies" [1].

A catch-all address disables all of this, because with a catch-all every guess is a valid address. If you have one on, this is the highest-value change available to you, and it takes a minute. The full argument is in should I use a catch-all email address.

The second half of this gate is discretion about what you publish. The standard is blunt that "accepting a message may trigger additional undesirable traffic by providing verification of the address" [1]. Publish the addresses you want strangers to use, and keep the internal ones off the website.

Gate two: make your own domain impossible to forge

A large fraction of the worst mail a small business receives is not generic spam. It is targeted: an invoice that appears to come from your own bookkeeping address, a payment-change request that appears to come from the owner. That works because plain SMTP "places no restriction on what a sending host can use as the MAIL FROM of a message or the domain given on the SMTP HELO/EHLO commands" [2].

Three DNS records close that off.

SPF is the list of hosts authorised to send as your domain [2]. A receiver that gets a "fail" has "an explicit statement that the client is not authorized to use the domain in the given identity", and may reject with a 550 [2]. Note that "softfail" is deliberately weaker and receiving software should not reject on it alone [2], so a lazy SPF record buys you less than you think.

DKIM attaches a cryptographic signature, letting the signing domain "claim some responsibility for a message" in a way the receiver validates by fetching your public key from DNS [3]. Because relays in transit "typically make no substantive change to the message content", the signature survives the journey [3].

DMARC ties those two to the address your customer actually sees. It authenticates use of the From domain by requiring alignment with an authenticated identifier, and it exists because that field "is the one used by end users to identify the source of the message and therefore is a prime target for abuse" [4]. DMARC is "a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection" [4], and it gives you reports on who is sending as you.

Start DMARC in monitoring mode, read the reports for a few weeks, then tighten. The step-by-step is in SPF, DKIM and DMARC explained for small business. The same three records are the main reason your outbound mail does or does not land, which is covered in why your business email goes to spam.

Gate three: filter on the server, not in one app

The classic small-business mess is a set of rules built inside a desktop mail app. They work beautifully on the laptop and not at all on the phone, because they only run when that one program is open. So the phone buzzes for mail the laptop already filed, and the junk folders disagree with each other.

Server-side filtering fixes this by making the decision once, at delivery, before any device sees the message. That is exactly what the Sieve filtering language was designed for: filtering at time of final delivery, "extensible, simple, and independent of access protocol, mail architecture, and operating system", suitable for running on a server "where users may not be allowed to execute arbitrary programs" [5]. It has no loops, no variables in the base language, and no ability to shell out to external programs [5] - constraints that exist so a filter cannot misbehave.

Practically, that means rules like "mail from this supplier goes to this folder" or "anything with this subject prefix is filed" belong on the server. The device-consistency question generally is covered in business email on your phone and laptop.

One caution the standard itself raises: silently deleting mail is dangerous. RFC 5321 says dropping messages without notification "should be considered only in those cases where there is very high confidence that the messages are seriously fraudulent or otherwise inappropriate" [1]. Send suspected spam to a junk folder you can review, not to nothing.

Gate four: stop answering machines

Two habits make measurable difference.

Fix the auto-responder. Automatic responses are a documented source of "significant numbers of useless or unwanted responses", "responses sent to inappropriate addresses" and "occasional incidences of mail loops" [6]. The rule is straightforward: do not issue an automatic response to any message carrying an Auto-Submitted header field with a value other than "no", and mark your own automatic replies with Auto-Submitted: auto-replied so other systems can extend you the same courtesy [6].

Unsubscribe selectively. If you recognise the sender - a supplier, a conference, a newsletter you did sign up for - unsubscribe. Under CASL a Canadian commercial sender must provide an unsubscribe mechanism as part of complying with section 6 [7], and it must work. If you do not recognise the sender at all, do nothing; interacting is exactly the address verification the SMTP standard warns about [1].

What Canadian law gives you

CASL is stronger than most business owners realise. Section 6(1) prohibits sending a commercial electronic message unless the recipient has consented expressly or by implication and the message identifies the sender, provides working contact information and offers an unsubscribe mechanism [7]. Failing on the second half is a breach even where consent exists.

Two details worth knowing. It is immaterial whether the electronic address exists or whether the message reached its destination [7] - the offence is in the sending. And a message sent to a person engaged in commercial activity that consists solely of an inquiry related to that activity is outside section 6 [7], which is why a genuine one-off business question is treated differently from a campaign. If you send marketing yourself, the line is drawn in do I need a mailing list tool, or can I just email my customers.

Where we sit

MapleMail runs filtering on the server, so the same decision applies to your phone, your laptop and anything else you read mail on. We publish and maintain the authentication records for your domain and hand them to you in writing. We do not enable catch-all by default, and we will tell you plainly if you ask us to turn one on.

What we will not claim is that any provider stops all spam. Nobody does. What a well-configured setup does is move the fight upstream, so most of it is refused at the door and the remainder lands in a junk folder you can actually review. Plans and what each mailbox includes are on the pricing page.

Frequently asked questions

What is the single most effective thing I can do about spam?

Turn off any catch-all address. A catch-all accepts mail for every address that has never existed at your domain, so guessed and harvested addresses stop being rejected and start arriving. Without one, a server returns 550 for an address known not to be deliverable [1], and address-guessing floods can be treated as the attack the standard says they are [1].

Does SPF stop spam arriving in my inbox?

Not directly - it stops other people forging your domain, which prevents a large category of attacks aimed at your customers and your own staff. SMTP places no restriction on what a sending host claims in MAIL FROM or HELO [2], so SPF is the record that says which hosts are authorised. Receivers may reject an SPF fail with a 550 [2].

What do DKIM and DMARC add on top of SPF?

DKIM attaches a cryptographic signature so a receiver can verify a message really came from your domain and was not altered in transit [3]. DMARC ties the visible From address to those checks and tells receivers what to do when they do not line up - 'ranging from no action, through altered delivery, up to message rejection' [4] - and sends you reports about who is using your domain.

Should I filter spam on the server or in my email app?

On the server. A rule that lives in one app only runs when that app is open, so your phone shows mail your laptop already filed. Server-side filtering at final delivery is what Sieve was designed for - deliberately simple, with no loops and no ability to run external programs [5] - so the same rules apply to every device you read mail on.

Should I unsubscribe from spam, or does that confirm my address?

Unsubscribe from senders you recognise; ignore the rest. The SMTP standard notes that accepting a message 'may trigger additional undesirable traffic by providing verification of the address' [1], and the same logic applies to clicking anything in an unsolicited message. A legitimate Canadian sender must give you a working unsubscribe mechanism under CASL [7]; an outright criminal will not honour one.

Is an out-of-office reply making my spam worse?

It can. Auto-responders are a documented source of 'significant numbers of useless or unwanted responses' and 'responses sent to inappropriate addresses' [6]. Configure yours to skip any message carrying an Auto-Submitted header with a value other than 'no', mark your own replies as auto-replied [6], and where possible restrict it to senders you have corresponded with before.

Can I report spam under Canadian law?

Yes, and the threshold is lower than people assume. CASL prohibits sending a commercial electronic message without consent and without the required identification, contact information and unsubscribe mechanism [7], and it is immaterial whether the address exists or the message reaches its destination [7]. Keep the full message including headers - the headers are the part that identifies the sending path.

Sources

  1. RFC 5321 - Simple Mail Transfer Protocol — Where a recipient 'is known not to be a deliverable address, the SMTP server returns a 550 reply, typically with a string such as "no such user"'. Section 6.2 observes that 'accepting a message may trigger additional undesirable traffic by providing verification of the address' and that silent dropping 'should be considered only in those cases where there is very high confidence that the messages are seriously fraudulent'. Section 7.8 treats a large number of RCPT TO commands with invalid addresses as an attack a server may defend against with 550 replies.
  2. RFC 7208 - Sender Policy Framework (SPF), version 1 — Existing protocols 'place no restriction on what a sending host can use as the MAIL FROM of a message or the domain given on the SMTP HELO/EHLO commands'. SPF lets domain owners 'explicitly authorize the hosts that are allowed to use their domain names'. A 'fail' is 'an explicit statement that the client is not authorized to use the domain in the given identity' and rejection during the SMTP transaction SHOULD use reply code 550; 'softfail' is weaker and receiving software SHOULD NOT reject on it alone.
  3. RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures — DKIM 'permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message', validated 'through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key'. Transit relays 'typically make no substantive change to the message content and thus preserve the DKIM signature'.
  4. RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC) — DMARC is 'a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection'. It authenticates use of the RFC5322.From domain by requiring it to be aligned with an authenticated identifier; that field 'is the one used by end users to identify the source of the message and therefore is a prime target for abuse'. Receivers can provide feedback reports to domain owners.
  5. RFC 5228 - Sieve: An Email Filtering Language — Sieve is a language for filtering email messages at time of final delivery, designed to be 'extensible, simple, and independent of access protocol, mail architecture, and operating system'. It is 'suitable for running on a mail server where users may not be allowed to execute arbitrary programs', and the base language has no variables, no loops and no ability to shell out to external programs.
  6. RFC 3834 - Recommendations for Automatic Responses to Electronic Mail — Observed problems with automatic responders include 'significant numbers of useless or unwanted responses', 'responses sent to inappropriate addresses' and 'occasional incidences of mail loops'. Automatic responses SHOULD NOT be issued in reply to any message containing an Auto-Submitted header field with a value other than 'no', and an automatic response SHOULD carry Auto-Submitted: auto-replied.
  7. Canada's Anti-Spam Legislation (S.C. 2010, c. 23), sections 6 and 10(9) — 6(1) prohibits sending a commercial electronic message unless the recipient consented expressly or by implication and the message complies with 6(2), which requires identifying information, contact information and an unsubscribe mechanism. 6(4)(b) provides that it is immaterial whether the electronic address exists or whether the message reaches its intended destination. 6(5)(b) exempts a message sent to a person engaged in commercial activity that consists solely of an inquiry related to that activity.

All sources verified 2026-09-02.

MapleMail is Canadian-hosted business email with server-side filtering and authentication set up for you.

See plans and pricing