--- type: reference title: "MailPace SMTP delivery gotchas (Vaultwarden, Gmail plus-addresses)" summary: MailPace rejects Vaultwarden emails with embedded-image attachments (450 attachments.name blank / extension blocked) — disable "Embed images as email attachments"; Gmail plus-addressed recipients hard-bounced and were auto-blocklisted, while a Gmail dot-alias delivered fine. tags: - type/reference - tool/mailpace - tool/vaultwarden - domain/email scope: global date: 2026-07-09 last_updated: 2026-07-09 related: - vaultwarden-permission-parity-gotchas source: ruby-gems --- # MailPace SMTP delivery gotchas Learned 2026-07-09 wiring Vaultwarden (bitwarden.swansoncloud.com) to MailPace. - **Auth**: the MailPace API token is BOTH the SMTP username and password (`smtp.mailpace.com:587`, starttls). From-address just needs the verified domain, no mailbox required. - **Vaultwarden's "Embed images as email attachments" breaks MailPace**: test email fails with `SMTP 4xx (450): {"attachments.name":["can't be blank","Extension file type blocked"]}`. Fix: uncheck that option in `/admin` SMTP settings (images are then referenced by URL). No container restart needed — `/admin` settings apply live (and persist to `data/config.json`, overriding compose env from then on). - **Gmail plus-addresses hard-bounce**: `bot+user@gmail.com` bounced even though the base account is valid and plain-address sends delivered. MailPace then AUTO-ADDS the bounced address to its domain Block List (must remove manually before any retry). Workaround: Gmail **dot alias** (e.g. `jared.mswanson@gmail.com`) — distinct string to the application, same inbox, delivered fine. Useful for bot/service accounts that need a unique login email but should land in the owner's inbox.