我正在尝试通过联系表单发送电子邮件,但似乎它并没有启动firebase云功能(从我发送电子邮件的地方)。尽管经过第一次尝试,它仍然可以正常工作。
我不确定它是否与云功能有关,因为它没有执行,可以通过日志查看。
<Modal show={open} onHide={() => setOpen(false)}>
<Modal.Header closeButton>
<Modal.Title>
{props.language === "en" ? "Share email" : "Del email"}
</Modal.Title>
</Modal.Header>
<Modal.Body>
<iframe
width="0"
height="0"
border="0"
name="dummyfram"
id="dummyfram"
/>
<form
class="form-horizontal"
method="POST"
action="https://mycloudfunctionexample.com/sendEmail"
onSubmit={() => setOpen(false)}
target="dummyfram"
>
<p>
<label>
{props.language === "en" ? "Name" : "Navn"}
</label>
<input
class="form-control"
type="text"
name="name"
required
/>
</p>
<p>
<label>Email</label>
<input
class="form-control"
type="email"
name="email"
required
/>
<input
type="hidden"
name="language"
value={props.language}
/>
<input
type="hidden"
name="shareLink"
value={props.shareUrl}
/>
<input
type="hidden"
name="ownerName"
value={props.owner}
/>
</p>
<p class="full">
<Button
htmlType="submit"
>
{props.language === "en" ? "Share" : "Del"}
</Button>
</p>
</form>
</Modal.Body>
</Modal>
这是cloudfunction的代码(我已经排除了邮件选项)
exports.sendEmail = functions.https.onRequest((req, res) => {
return transporter
.sendMail(mailOptions)
.then(function(response) {
return res.sendStatus(200);
})
.catch(function(error) {
console.info(error);
});