SMTP 邮件已送达但未收到

问题描述 投票:0回答:1

我正在 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]>'
}
node.js smtp nodemailer
1个回答
0
投票

我明白了,问题已经解决了,我需要在运输中添加额外的属性

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,
    },
});
© www.soinside.com 2019 - 2024. All rights reserved.