为了账号安全,请及时绑定邮箱和手机立即绑定

Nodemailer谷歌云功能错误代码:304

Nodemailer谷歌云功能错误代码:304

qq_遁去的一_1 2023-12-14 15:27:13
我有一个 firebase 谷歌云功能,可以通过 javascript 使用cors和nodemailer发送电子邮件。在某些情况下,我收到不同目标电子邮件的错误代码:304 。为什么这种情况偶尔会发生,并且只有当我更改电子邮件目的地时才会发生。有时它有效,有时则无效。通过更改发送到目的地的电子邮件,条件有时会是错误的吗?我需要在函数中以某种方式设置缓存吗?启用允许不安全的应用程序,然后启用验证码解锁错误代码:304notModified - 条件请求本来会成功,但条件为假,因此没有发送正文。const nodemailer = require('nodemailer');const cors = require('cors')({origin: true});// Gmail configuration to Send eMaillet transporter = nodemailer.createTransport({    host: 'smtp.gmail.com',    port: 587,    secure: false,    auth: {        user: 'email',        pass: 'passwors'    }});exports.sendMailPasswordReset = functions.https.onRequest((req, res) => {    cors(req, res, () => {    const mailOptions = {        from: 'team <team@example.app>', // Something like: Jane Doe <janedoe@gmail.com>        to: 'example@gmail.com',        subject: 'Password Reset', // email subject        html: `html body` // email content in HTML    };    // returning result    return transporter.sendMail(mailOptions, (erro, info) => {        if(erro){            return res.send(erro.toString());        }        return res.send('true');});});});
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您不能发回常量值。

return res.send('true');

错误代码 304:返回 false,因为它始终返回相同的常量。

为了解决这个问题,发送值每次都需要不同。

例如:

let random = Math.random().toString(36).substring(7);
return res.send('true_' + random);

我还添加了cors

res.setHeader('Cache-Control', 'no-cache');


查看完整回答
反对 回复 2023-12-14
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信