## TL;DR
Gmail's filters flagged the message content or the sender's reputation as spam-like. Remove link shorteners and shady attachments, make sure SPF, DKIM, and DMARC all pass, and resend from a clean, warmed identity.

```text
gmail 550-5.7.1 message likely suspicious content rejected
```

## Use this when
- Gmail returns 550-5.7.1 with 'message likely suspicious content'.
- The same message delivers fine to other providers.
- A new sending domain gets this on nearly every send.

## Not for this skill when
- 550-5.7.26, which means unauthenticated mail, a DNS problem.
- Messages flagged by the recipient's own filters after delivery.
- Bulk sender guideline rejections citing list-unsubscribe.

## Steps
1. Remove link shorteners, redirect chains, and odd attachments; send with plain full URLs. Verify: the resent message no longer matches the rejected template.
2. Check authentication: send to a mailbox you control and inspect headers for SPF, DKIM, DMARC pass. Verify: all three show pass, not softfail.
3. Check the sending domain and IP on common blocklists. Verify: no listing on the major DNS blocklists.
4. If reputation is thin, reduce volume and send to people who open and reply first. Verify: open rates on the warm segment look normal before scaling.
5. Set up Google Postmaster Tools for the domain and watch spam rate. Verify: the dashboard shows a spam rate under the 0.3 percent guideline.

## Variant phrasings
### gmail 550 5.7.1 suspicious content
Short phrasing of the code.
### message likely suspicious content gmail fix
The fix-angle search.
### gmail rejecting email suspicious content
The symptom phrasing.

Compatibility: Outbound mail to Gmail recipients; applies to any sender stack (SES, Resend, Postfix).

## Why it happens
Gmail combines content analysis with sender reputation. Shortened URLs, image-only bodies, and mismatched branding look like phishing, and a new or low-reputation domain has no history to offset the suspicion.

## Edge cases / pitfalls
- Forwarding Gmail's own bounce back to yourself for testing can get your test address flagged.
- HTML-heavy templates with one image and ten links score badly; plain-text versions help.
- The rejection can be IP-based; moving to a shared pool with a bad neighbor restarts the problem.
- Do not register a lookalike domain to dodge it; that is exactly what the filter punishes.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_zZ1hL8EtI2-50okEgO3bbQ
