Nodemailer 和 Outlook 无法发送消息

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

好吧,在开发 MERN 应用程序时,我决定创建一个“忘记密码”功能。这是通过在后端的 userController.js 文件中创建一个 sendEmail 实用程序和 2 个函数来完成的。整个事情似乎运行良好,Postman 和 VSC 都返回成功语句。

VSC 终端消息:

Email sent successfully: 250 2.0.0 OK <AM0P193MB057895C2FF6638858F9278AAC5BAA@AM0P193MB0578.EURP193.PROD.OUTLOOK.COM> [Hostname=AM0P193MB0578.EURP193.PROD.OUTLOOK.COM]```

邮递员消息: { “成功”:真实, "message": "邮件发送成功。" }


But in my Outlook inbox, it says the following:

无法向这些收件人或群组递送:

[电子邮件受保护] 您的邮件未送达,因为收件人的电子邮件提供商拒绝了它。


I have been searching for solutions through the net & tried using AI, but nothing was solved. How should I tackle this problem?
node.js express mern nodemailer
1个回答
-1
投票

听起来您在使用 Nodemailer 和 MERN 堆栈应用程序设置“忘记密码”功能方面做得非常出色。事实上,您在 Postman 和 VSC 终端中都收到成功消息,这表明您的应用程序后端正在正确处理请求并成功发送电子邮件。

但是,Outlook 中发送失败的问题很可能是由于收件人端的问题造成的。以下是解决此问题的方法:

  1. 检查收件人的电子邮件地址:确保电子邮件地址

    [email protected]
    正确且有效。有时,一个小错字可能会导致交付问题。

  2. 查看电子邮件内容和设置:某些电子邮件提供商对传入电子邮件有严格的过滤规则。如果您的电子邮件内容包含某些关键字或缺乏正确的格式(例如主题行),它可能会被标记为垃圾邮件或被拒绝。

  3. 检查 SPF、DKIM 和 DMARC 记录:这些是有助于防止垃圾邮件的电子邮件身份验证方法。如果您的发送域没有正确设置这些记录,或者它们与正在发送的电子邮件不一致,则可能会导致收件人的电子邮件服务器拒绝。

  4. 检查发件人的信誉:如果您发送电子邮件的 IP 或域过去曾被用来发送垃圾邮件,或者位于黑名单中,则来自该地址的电子邮件可能会被拒绝。 MXToolbox 等工具可以帮助您检查您的域名是否在黑名单中。

  5. SMTP 服务器配置:由于您将 Nodemailer 与 Outlook 一起使用,因此请确保您的 SMTP 服务器设置(如主机、端口和身份验证)配置正确。不正确的设置有时会导致电子邮件已发送但未送达。

  6. 查阅 Outlook/收件人的电子邮件提供商的文档:某些提供商对传入电子邮件有特定要求或限制。检查他们的文档以了解任何指南或限制。

  7. 检查电子邮件日志:如果您有权访问发送电子邮件的服务器日志,请检查它们是否有任何其他错误消息或有关电子邮件被拒绝原因的线索。

  8. 实施反馈循环并监控退回邮件:与电子邮件提供商设置反馈循环可以帮助您更深入地了解电子邮件被拒绝或标记为垃圾邮件的原因。

请记住,处理电子邮件的送达率可能很棘手,因为它不仅涉及您的代码,还涉及电子邮件服务器及其策略等外部因素。如果您已检查上述所有内容但仍然遇到问题,您可以考虑联系电子邮件服务提供商的支持团队以获取更详细的见解。

© www.soinside.com 2019 - 2024. All rights reserved.