我正在使用nodemailer软件包来管理电子邮件和用于身份验证的next-auth。
Next-auth提供有关如何保护页面和API的信息: https://next-auth.js.org/tutorials/securing-pages-and-api-routes
但是可以将会话值传递给nodemailer类,因此可以在API路由中访问它,该链接在附件路径中定义:
const nodemailer = require('nodemailer');
module.exports.sendImage = function({ toUser}) {
return new Promise((res,rej) => {
const transporter = nodemailer.createTransport({
service:'gmail',
auth: {
user: process.env.EMAIL_FROM,
pass: process.env.EMAIL_PASS
},
})
const message = {
from: process.env.EMAIL_FROM,
to: toUser.email,
attachments: [{
filename: 'Test',
path: `${process.env.ROOT_URL}/api/download/`,
httpHeaders: {
'Authorization' : `bearer ${token}`
}
}],
}
transporter.sendMail(message,function(err,info){
if(err) {
rej(err)
}
else {
res(info)
}
})
})
}
我发现nodemailer可以使用会话对象:https://nodemailer.com/extras/smtp-server/#session-object 但是我不知道如何包括这个。也许有人遇到过?