[英]Nodemailer google cloud function error code: 304
I have a firebase google cloud function that sends an email via javascript with cors and nodemailer.
我收到错误代码:304在某些情况下使用不同的目标电子邮件。 为什么偶尔会发生这种情况,并且仅在我更改 email 目标时才会发生。 有时它的作品,有时它没有。
通过更改 email 发送到目的地,条件有时如何可能是错误的? 我是否需要在 function 中以某种方式设置缓存?
错误代码:304
notModified - 条件请求会成功,但条件为假,因此没有发送任何正文。
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');
});
});
});
你不能发回一个常数值。
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');
下面是对Error code 304的详细理解
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.