我正在 HostGator 中设置电子邮件以发送电子邮件。在我的 Node.js 应用程序中,我使用 Nodemailer 发送电子邮件。 Nodemailer 显示成功响应,表明消息已成功接收。但是,我的收件箱中没有收到任何电子邮件。我仔细检查了垃圾邮件文件夹并等待了一段时间,但电子邮件仍然没有到达。这里有什么问题?我的代码中是否遗漏了任何内容,或者我需要在 cPanel 中设置某些内容吗?
这就是我设置电子邮件的方式
// Env file
SMTP_HOST=mail.x.ai
SMTP_PORT=465
[email protected]
SMTP_PASS=********
//transport function
const transport = nodemailer.createTransport({
port: process.env.SMTP_PORT,
host: process.env.SMTP_HOST,
secure: true,
auth: {
user: process.env.SMTP_USER,
pass: process.env.SMTP_PASS,
},
});
// mail sender function
const testEmail = async (receiver, name, type) => {
const mailObject = {
from: mailFrom,
to: receiver,
subject: 'Test email sent from server',
template: 'welcome-email-user',
};
try {
const result = await transport.sendMail(mailObject);
return result;
} catch (e) {
return e;
}
};
//This is the response I got in the result
🚀 ~ file: mailSendingOption.js:284 ~ testEmail ~ result: {
accepted: [ '[email protected]' ],
rejected: [],
ehlo: [
'SIZE 52428800',
'8BITMIME',
'PIPELINING',
'PIPECONNECT',
'AUTH PLAIN LOGIN',
'HELP'
],
envelopeTime: 941,
messageTime: 626,
messageSize: 6234,
response: '250 OK id=1qu6cr-001NyW-25',
envelope: {
from: '[email protected]',
to: [ '[email protected]' ]
},
messageId: '<[email protected]>'
}
我明白了,问题已经解决了,我需要在运输中添加额外的属性
const transport = nodemailer.createTransport({
name : "Test Name",
port: process.env.SMTP_PORT,
host: process.env.SMTP_HOST,
secure: true,
auth: {
user: process.env.SMTP_USER,
pass: process.env.SMTP_PASS,
},
});