Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,允许开发者使用 JavaScript 编写服务器端的应用程序。Nodemailer 是一个用于 Node.js 的邮件发送模块,它提供了一种简单的方式来发送电子邮件。
Gmail 是 Google 提供的一种免费的电子邮件服务,也可以用作 SMTP 服务器来发送邮件。
Error: Authentication is required.
原因: Gmail 需要身份验证才能通过 SMTP 发送邮件。
解决方法:
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'your-email@gmail.com',
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
refreshToken: 'YOUR_REFRESH_TOKEN'
}
});
let mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Test Email',
text: 'Hello World!'
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
参考链接:
Error: Connection timeout
原因: 可能是由于网络问题或 Gmail 服务器不可达。
解决方法:
smtp.gmail.com:587
)。Error: Invalid login - 534, 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbuG>
原因: 可能是由于 OAuth2 令牌过期或不正确。
解决方法:
在使用 Node.js 和 Nodemailer 发送 Gmail 邮件时,常见的错误包括身份验证失败、连接超时和无效登录。通过启用低安全性应用访问、使用 OAuth2 认证、检查网络连接和确保令牌正确,可以解决这些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云