Document compose-safe DEFAULT_FROM_EMAIL quoting.
Docker Compose .env rejects "Name" <addr>; prefer a bare address or one pair of quotes around the whole From value.
This commit is contained in:
+6
-6
@@ -31,12 +31,12 @@ EMAIL_HOST_USER=
|
|||||||
EMAIL_HOST_PASSWORD=
|
EMAIL_HOST_PASSWORD=
|
||||||
EMAIL_PORT=2525
|
EMAIL_PORT=2525
|
||||||
EMAIL_USE_TLS=true
|
EMAIL_USE_TLS=true
|
||||||
# Inbox From header. Bare address → local-part shows as name ("noreply").
|
# Inbox From header. Docker Compose .env cannot parse: "Name" <addr>
|
||||||
# Prefer quoted display name (SITE_NAME is auto-wrapped if you omit it):
|
# (the <addr> breaks the parser). Use ONE of:
|
||||||
# DEFAULT_FROM_EMAIL=noreply@mkdrealtor.com
|
# DEFAULT_FROM_EMAIL=notifications-beta@mkdrealtor.com
|
||||||
# → "Monica Dhillon" <noreply@mkdrealtor.com>
|
# → app wraps with SITE_NAME → "Monica Dhillon" <notifications-beta@…>
|
||||||
# Or set explicitly (must be allowed/verified in SMTP2GO):
|
# DEFAULT_FROM_EMAIL="Monica Dhillon <notifications-beta@mkdrealtor.com>"
|
||||||
# DEFAULT_FROM_EMAIL="Monica Dhillon" <notifications-beta@mkdrealtor.com>
|
# → whole value in one pair of quotes (compose-safe)
|
||||||
DEFAULT_FROM_EMAIL=noreply@mkdrealtor.com
|
DEFAULT_FROM_EMAIL=noreply@mkdrealtor.com
|
||||||
# Console (default in DJANGO_ENV=dev) prints mail to container logs.
|
# Console (default in DJANGO_ENV=dev) prints mail to container logs.
|
||||||
# For real SMTP2GO delivery locally, uncomment:
|
# For real SMTP2GO delivery locally, uncomment:
|
||||||
|
|||||||
+4
-3
@@ -24,9 +24,10 @@ SITE_UNDER_CONSTRUCTION=true
|
|||||||
SITE_NAME=Monica Dhillon
|
SITE_NAME=Monica Dhillon
|
||||||
SITE_TAGLINE=MKDRealtor.com · EXIT Realty Redefined
|
SITE_TAGLINE=MKDRealtor.com · EXIT Realty Redefined
|
||||||
PUBLIC_SITE_URL=https://mkdrealtor.com
|
PUBLIC_SITE_URL=https://mkdrealtor.com
|
||||||
# Inbox From (display name auto-added from SITE_NAME if omitted).
|
# Inbox From. Docker Compose .env: do NOT use "Name" <addr> (breaks parse).
|
||||||
# SMTP2GO must allow sending as this address. Example:
|
# Prefer bare address (SITE_NAME auto-wrapped) OR one quoted string:
|
||||||
# DEFAULT_FROM_EMAIL="Monica Dhillon" <notifications-beta@mkdrealtor.com>
|
# DEFAULT_FROM_EMAIL=notifications-beta@mkdrealtor.com
|
||||||
|
# DEFAULT_FROM_EMAIL="Monica Dhillon <notifications-beta@mkdrealtor.com>"
|
||||||
DEFAULT_FROM_EMAIL=noreply@mkdrealtor.com
|
DEFAULT_FROM_EMAIL=noreply@mkdrealtor.com
|
||||||
CONTACT_PHONE=
|
CONTACT_PHONE=
|
||||||
CONTACT_EMAIL=
|
CONTACT_EMAIL=
|
||||||
|
|||||||
@@ -221,10 +221,18 @@ def format_from_email(address: str | None, display_name: str | None = None) -> s
|
|||||||
|
|
||||||
Bare ``noreply@…`` shows as "noreply". Prefer
|
Bare ``noreply@…`` shows as "noreply". Prefer
|
||||||
``"Monica Dhillon" <noreply@…>`` (RFC 5322).
|
``"Monica Dhillon" <noreply@…>`` (RFC 5322).
|
||||||
|
|
||||||
|
Docker Compose ``.env`` cannot parse split quotes like
|
||||||
|
``"Name" <addr>`` — use a bare address (this helper adds SITE_NAME)
|
||||||
|
or one pair of quotes around the whole value:
|
||||||
|
``DEFAULT_FROM_EMAIL="Monica Dhillon <addr@domain>"``.
|
||||||
"""
|
"""
|
||||||
raw = (address or "").strip()
|
raw = (address or "").strip()
|
||||||
if not raw:
|
if not raw:
|
||||||
return ""
|
return ""
|
||||||
|
# Strip a single layer of wrapping quotes from env/compose.
|
||||||
|
if len(raw) >= 2 and raw[0] == raw[-1] and raw[0] in {'"', "'"}:
|
||||||
|
raw = raw[1:-1].strip()
|
||||||
if "<" in raw and ">" in raw:
|
if "<" in raw and ">" in raw:
|
||||||
return raw
|
return raw
|
||||||
name = (display_name or SITE_NAME or "").strip()
|
name = (display_name or SITE_NAME or "").strip()
|
||||||
|
|||||||
Reference in New Issue
Block a user