Hapi returns 中没有域的 Nodemailer 需要域错误。当代码 运行 在 Hapi 之外时,它 运行 完美

Nodemailer without domain in Hapi returns needs domain error. It ran perfectly when the code is run outside of Hapi

我目前正在编写一个简单的 nodejs 应用程序。其中一项功能是使用 hapi 和 nodemailer 通过 cron 作业发送电子邮件。

应用程序 运行 成功与 运行 运动员

            const transporter = nodemailer.createTransport({
                host: mail.somesmtpserver.com,
                port: 587,
                auth: {
                    user: name@example.com,
                    pass: somepassword
                }
            })

我目前正在尝试使用 smtp2go 使其工作,我首先在 Hapi 服务器之外尝试了它,user as 'some-username' 没有域。它运行完美,smtp2go 记录了发送的电子邮件。

我试图将相同的代码放入 Hapi 中,它 returns

(node:3211) UnhandledPromiseRejectionWarning: Error: Mail command failed: 501 <some-username>: sender address must contain a domain

我试过将发件人代码放入异步函数中,然后使用 await 调用它们,但仍然没有用

关于我应该如何编写这段代码有什么想法吗?提前致谢!

显然,在 sendEmail 函数上,我将其添加为


                let mailOptions = transporter.sendMail({
                    from: `application email <${process.env.MAIL_DOMAIN}>`,
                    to: `${process.env.EMAIL_RECEIVER}`,
                    subject: `Email Subject`,
                    html: htmlToSend
                })

如果我的 MAIL_DOMAIN 被设置为 SMTP 服务器的用户名(不是电子邮件),这将不起作用。测试文件使用了硬编码的电子邮件名称!

我通过将其更改为电子邮件域来解决此问题,因为它允许我从 'nonexistant' 电子邮件发送!