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

我有一个 firebase 谷歌云功能,可以通过 javascript 使用cors和nodemailer发送电子邮件

在某些情况下,我收到不同目标电子邮件的错误代码:304 。为什么这种情况偶尔会发生,并且只有当我更改电子邮件目的地时才会发生。有时它有效,有时则无效。

通过更改发送到目的地的电子邮件,条件有时会是错误的吗?我需要在函数中以某种方式设置缓存吗?

  • 启用允许不安全的应用程序,然后启用验证码解锁

错误代码:304

notModified - 条件请求本来会成功,但条件为假,因此没有发送正文。

https://img1.sycdn.imooc.com/657aae6600015e0806520552.jpg

const nodemailer = require('nodemailer');

const cors = require('cors')({origin: true});



// Gmail configuration to Send eMail

let 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');

});

});

});


qq_遁去的一_1
浏览 108回答 1
1回答

繁星点点滴滴

您不能发回常量值。return res.send('true');错误代码 304:返回 false,因为它始终返回相同的常量。为了解决这个问题,发送值每次都需要不同。例如:let random = Math.random().toString(36).substring(7); return res.send('true_' + random);我还添加了corsres.setHeader('Cache-Control', 'no-cache');
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript