我正在做一个虚拟项目nextjs并尝试使用mailtrap向用户邮箱发送重置密码消息和 nodemailer 但我有一个问题,我找不到任何解决方案,当我发送请求这个错误发生
Error: connect ETIMEDOUT 18.215.44.90:2525
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) {
errno: -4039,
code: 'ESOCKET',
syscall: 'connect',
address: '18.215.44.90',
port: 2525,
command: 'CONN'
}
和我的代码
import nodemailer from "nodemailer";
async function SendEmail(options) {
const transport = nodemailer.createTransport({
host: "smtp.mailtrap.io",
port: 2525,
auth: {
user: "xxxxxxxxxxxxxx",
pass: "xxxxxxxxxxxxxx",
},
});
const message = {
from: `${process.env.SMTP_FROM_NAME} <${process.env.SMTP_FROM_EMAIL}>`,
to: options.email,
subject: options.subject,
text: options.message,
};
await transport.sendMail(message, (error, info) => {
if (error) {
console.log(error);
} else {
console.log("Email sent: " + info.response);
}
});
}
export default SendEmail;
尝试更改端口,另一种解决方案是在另一个Internet网络上尝试,有时以某种方式,提供商提供的IP被阻止了,同样的错误发生在我身上,我的解决方案是更改Internet网络。
如果您正在使用学校/学院的wlan/wifi,请尝试使用手机热点。可能是学校/学院连接阻塞了端口。