SecondBrain/reference/mailpace-smtp-delivery-gotc...

36 lines
1.8 KiB
Markdown

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