How to Block Emails on Gmail, Outlook, iCloud, and Yahoo
Blocking a sender should be simple. And on the surface, it is — every email provider has a "block" button. But provider-level blocking has significant limitations that most people do not realize until the spam keeps coming.
This guide covers how to block on each major provider, what the limitations are, and what to do when blocking is not enough.
Gmail
Block a sender
- Open the email from the sender you want to block
- Click the three dots (more options) next to the reply button
- Click "Block [sender name]"
- Future emails from this address go to spam
Unblock
Settings → See all settings → Filters and Blocked Addresses → find the blocked address → Unblock
Gmail limitations
- Blocking is per-address, not per-domain. Blocking
spam@example.comdoes not blockpromo@example.com. - Blocked emails go to Spam, not Trash. They are still downloaded and stored for 30 days.
- No wildcard or pattern-based blocking in the standard interface.
Outlook / Microsoft 365
Block a sender
- Select the email
- Click the three dots → "Block" (or right-click → Block)
- Confirm
Block a domain (Outlook web)
- Settings → Mail → Junk email
- Under "Blocked senders and domains," click "Add"
- Enter the domain (e.g.,
@spammer.com)
Outlook advantages
Outlook supports domain-level blocking, which Gmail does not. This is useful for blocking entire spam operations.
Apple Mail (iCloud)
Block a sender (macOS)
- Open the email
- Click the sender name in the header
- Select "Block Contact" from the dropdown
Block a sender (iOS)
- Open the email
- Tap the sender name
- Tap "Block this Contact"
iCloud limitations
- Per-address only, no domain blocking
- Blocked emails are moved to Trash, not Spam (so they do not train the spam filter)
- Block list syncs across Apple devices but not to non-Apple clients
Yahoo
Block a sender
- Open the email
- Click the three dots → "Block senders"
- Confirm
Yahoo limitations
- Maximum 500 blocked addresses
- Per-address only
- No domain-level blocking in the standard interface
Why per-address blocking has limits
All provider-level blocking shares the same fundamental problem: spammers rotate addresses.
Blocking offer123@spam-company.com does nothing when tomorrow's email comes from deal456@spam-company.com. And the day after that, it comes from an entirely different domain.
Per-address blocking is whack-a-mole. It works for persistent individual senders (an ex, a harasser, a specific company), but it does not work for spam campaigns.
What works better
Domain-level blocking
Block the entire domain, not just one address. Outlook supports this natively. For Gmail, you need to create a filter:
- Settings → Filters → Create new filter
- From:
@spam-company.com - Action: Delete it (or Skip Inbox)
Category-based blocking
Instead of blocking individual senders or domains, block entire categories of senders. Do you never want to hear from gambling sites? Block the category. Done with social media notifications? Block the category. This catches senders you have never seen before, as long as they fall into the blocked category.
Content-based filtering
Block emails matching content patterns: subject contains "act now", body contains "claim your prize", sender matches @(promo|deal|offer).. This catches spam from new domains that change addresses constantly.
Spam threshold adjustment
Lower your spam threshold for addresses that receive heavy spam. A threshold of 3-4 catches most spam automatically, without manually blocking each sender. Combine with a whitelist for trusted senders so they are never caught by the aggressive filter.
The best blocking strategy is layered: per-address for specific nuisances, per-domain for known bad actors, per-category for broad noise reduction, and spam thresholds as the safety net for everything else.