我们正在尝试使用nodemailer从Gmail发送电子邮件。最初,我们使用范围“ mail.google.com”。Google要求我们删除我们无法发送邮件的范围“ mail.google.com”。他们建议不要使用SMTP / IMAP。如何使用nodemailer做到这一点?
我正在使用以下代码段发送邮件
function sendMail(inp,emailData) {
let mailData = {
from: inp.from, // **
to: inp.to, // **
subject: inp.subject, // **
body: inp.html, // **
attachments: inp.attachments || [],
}
return new Promise((resolve, reject) => {
getTokens(emailData)
.then(tokens => {
let smtpTransport = nodemailer.createTransport({
service: "gmail",
debug:true,
auth: {
type: "OAuth2",
user: mailData.from,
clientId: ClientId,
clientSecret: ClientSecret,
refreshToken: tokens.refreshToken,
accessToken: tokens.accessToken
}
});
const mailOptions = {
from: mailData.from,
to: mailData.to,
subject: mailData.subject,
generateTextFromHTML: true,
html: mailData.body,
attachments: mailData.attachments
};
smtpTransport.sendMail(mailOptions, (error, result) => {
if (error) reject({status:204,error});
else resolve(result);
});
})
.catch(error => {
reject({status:204,error});
});
}); }
此代码有什么问题,以及Google希望我们如何删除SMTP / IMAP?