Since Feb 2024 Gmail and Yahoo require bulk senders (>5000/day) to support List-Unsubscribe-Post: List-Unsubscribe=One-Click. KumoMTA doesn't generate this for you — your application does — but Kumo must sign it with DKIM.
Headers your sender must add:
List-Unsubscribe: <https://unsub.example.com/u/{token}>, <mailto:unsub@example.com?subject={token}>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Your unsub endpoint must:
- Accept POST with body
List-Unsubscribe=One-Click. - Suppress immediately (no confirmation page, no login).
- Return 200 in <2 seconds.
Include in DKIM signed headers list:
local signer = kumo.dkim.rsa_sha256_signer {
headers = { 'From', 'To', 'Subject', 'Date', 'Message-ID', 'List-Unsubscribe', 'List-Unsubscribe-Post' },
...
}
Missing one-click on bulk mail = silent filtering at both Gmail and Yahoo. Non-negotiable.
Sign in to keep track of what you have read.