微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hapi 中没有域的 Nodemailer 返回需要域错误当代码在 Hapi 之外运行时,它运行得很好

如何解决Hapi 中没有域的 Nodemailer 返回需要域错误当代码在 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 作为没有域的“某些用户名”。它工作得很好,smtp2go 记录了发送的电子邮件

我尝试将相同的代码放入 Hapi 中,它返回

(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 服务器的用户名(不是电子邮件),这将不起作用。测试文件使用了硬编码的电子邮件名称!

我通过将其更改为电子邮件域来解决此问题,因为它允许我从“不存在”的电子邮件发送!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。