Use monolith SMTP credentials for Woo Manager outbound mail.
Deploy Ladill Woo Manager / deploy (push) Successful in 1m23s
Deploy Ladill Woo Manager / deploy (push) Successful in 1m23s
Mirror platform mail.php scheme normalization and sync MAIL_* transport vars from ladill.com shared .env on each deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -34,6 +34,35 @@ bootstrap_shared_env() {
|
||||
return 1
|
||||
}
|
||||
|
||||
sync_smtp_env_from_platform() {
|
||||
local platform_env="${LADILL_PLATFORM_ENV:-/var/www/ladill.com/shared/.env}"
|
||||
local target="$SHARED_DIR/.env"
|
||||
local key_pattern='^(MAIL_MAILER|MAIL_SCHEME|MAIL_ENCRYPTION|MAIL_HOST|MAIL_PORT|MAIL_USERNAME|MAIL_PASSWORD|MAIL_URL|MAIL_EHLO_DOMAIN|MAIL_FROM_ADDRESS)='
|
||||
|
||||
if [ ! -f "$platform_env" ] || [ ! -f "$target" ]; then
|
||||
log "Skipping SMTP env sync (platform or app .env missing)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local tmp merged
|
||||
tmp="$(mktemp)"
|
||||
merged="$(mktemp)"
|
||||
|
||||
grep -v -E "$key_pattern" "$target" > "$tmp" || true
|
||||
grep -E "$key_pattern" "$platform_env" > "$merged" || true
|
||||
|
||||
if [ ! -s "$merged" ]; then
|
||||
rm -f "$tmp" "$merged"
|
||||
log "No MAIL_* transport vars in $platform_env — skipping SMTP sync"
|
||||
return 0
|
||||
fi
|
||||
|
||||
cat "$tmp" "$merged" > "${target}.new"
|
||||
mv "${target}.new" "$target"
|
||||
rm -f "$tmp" "$merged"
|
||||
log "Synced SMTP settings from $platform_env"
|
||||
}
|
||||
|
||||
ensure_writable_paths() {
|
||||
local paths=("$@")
|
||||
|
||||
@@ -143,6 +172,7 @@ mkdir -p "$SHARED_DIR/bootstrap-cache"
|
||||
normalize_shared_permissions
|
||||
|
||||
if bootstrap_shared_env; then
|
||||
sync_smtp_env_from_platform
|
||||
ln -sfn "$SHARED_DIR/.env" "$NEW_RELEASE/.env"
|
||||
else
|
||||
echo "Missing deployment environment file. Expected $SHARED_DIR/.env or an existing $CURRENT_LINK/.env / $APP_ROOT/.env to bootstrap from." >&2
|
||||
|
||||
Reference in New Issue
Block a user