我正在尝试配置我的Firebase设置,以便可以从开发或生产环境中发送verifyEmail电子邮件。
我有一个.env文件,其中有两个设置,如下所示:
REACT_APP_PROD_CONFIRMATION_EMAIL_REDIRECT = https://example.com
REACT_APP_DEV_CONFIRMATION_EMAIL_REDIRECT = http://localhost:3000
然后在我的Firebase配置文件中,我有:
doSendEmailVerification = () =>
this.auth.currentUser.sendEmailVerification({
url: process.env.NODE_ENV === 'production' ? process.env.REACT_APP_PROD_CONFIRMATION_EMAIL_REDIRECT : process.env.REACT_APP_DEV_CONFIRMATION_EMAIL_REDIRECT,
});
当我在开发环境中进行测试时,此方法工作正常。
当我部署发行版并尝试在生产环境中对其进行测试时,该电子邮件不会发送。
两个Firebase帐户的发送电子邮件配置方式相同。
不会生成错误消息,并且提交处理程序中的步骤将被跳过。
我的提交处理程序具有:
this.props.firebase
.doCreateUserWithEmailAndPassword(values.email, values.password)
.then(authUser => {
return this.props.firebase.user(authUser.user.uid).set(
{
name: values.name,
email: values.email,
createdAt: new Date()
},
{ merge: true },
);
})
.then(() => {
return this.props.firebase.doSendEmailVerification();
})
.then(() => {
this.setState({ ...initialValues });
this.props.history.push(ROUTES.DASHBOARD);
答案 0 :(得分:0)
您必须在Firebase的“身份验证”部分中将您的域列入白名单,才能正常工作。我在这里看到了几条帖子,说不再需要白名单步骤-但对我来说是这样。