---
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.
