You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(firestore-send-email): kit/extension parity – a required placeholder SMTP_PASSWORD overrides the password in SMTP_CONNECTION_URI #3293
firestore-send-email kit/extension parity. Priority: high. After migrating, every email fails to send if the SMTP password was kept in the connection URI.
Difference
Extension:SMTP_PASSWORD is optional. Installs that put the password in SMTP_CONNECTION_URI (the "backwards compatible" form in the param's description) have no secret, and the URI's password is used.
Kit:
All four secrets are always bound, so SMTP_PASSWORD must exist and must not be empty. ext:migrate and functions:kits:install prompt for it, and Secret Manager rejects an empty value.
Any non-blank value then replaces the URI's password, the same as in the extension.
Users who enter a placeholder (the README recommends placeholders for the unused secrets) get an authentication failure on every send. A placeholder also adds auth to SMTP relays that need none.
Reproduced
Extension installed with SMTP_CONNECTION_URI=smtp://user:pass@smtp.ethereal.email:587 and no SMTP_PASSWORD: mail sends (SUCCESS).
firebase ext:migrate on that instance: it prompts "Enter a value for SMTP password". An empty answer fails with Secret Payload cannot be empty, so "placeholder" was entered.
The migrated kit fails every document with delivery.error: "Error: Invalid login: 535 Authentication failed". A README-setup kit with the same URI and a placeholder secret fails the same way.
Setting the secret to a single space works around it: the kit trims it to unset, and mail sends.
Activity
firestore-send-emailkit tracking issue #3290