我将向用户的电子邮件地址发送 5 位数字。但它没有被发送。这是下面的代码库。
const mailOptions = {
from: '[email protected]',
to: email,
subject: 'Password Reset Token',
text: `Your password reset token is: ${token}`
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
res.status(500).json({ message: 'Error sending email' });
} else {
console.log('Email sent: ' + info.response);
res.json({ message: 'Token sent to email!' });
}
});
请让我知道我应该解决什么问题。
我看不到任何已发送的电子邮件。请让我知道这些问题。谢谢。
请验证电子邮件服务连接。
原因有多种,但请先尝试测试连接,然后考虑以下功能:安全性较低的应用程序和 Gmail、检查电子邮件参数、垃圾邮件过滤器、网络问题、发件人电子邮件验证、服务器响应代码。希望你能解决这个问题。
您必须使用 google 应用程序密码才能使用 gmail 发送电子邮件。
https://support.google.com/accounts/answer/185833?hl=en
我认为您的邮件程序使用了普通密码。
您需要首先检查您的电子邮件服务器设置。如果您使用“Google 云平台”向 gmail 用户发送内容,则需要先注册 API 密钥和 OAuth。请仔细检查它是否正常工作。
分享一下Nodemailer的示例代码:
在此处输入代码
let Transporter = nodemailer.createTransport({ service: 'gmail', auth: { type: 'OAuth2', user: process.env.MAIL_USERNAME, pass: process.env.MAIL_PASSWORD, clientId: process.env.OAUTH_CLIENTID, clientSecret: process .env.OAUTH_CLIENT_SECRET,refreshToken:process.env.OAUTH_REFRESH_TOKEN } });