【问题标题】:Delay in sending emails while using nodemailer使用 nodemailer 时延迟发送电子邮件
【发布时间】:2019-01-16 07:27:34
【问题描述】:

我正在使用 nodemailer 在我的快递应用程序中发送电子邮件。但是电子邮件会延迟 4 分钟送达。但是,如果我使用相同的邮件服务器发送相同的电子邮件但使用 php 而不是节点,它会立即发送。

我来自 PHP 背景,这就是我使用 PHP 对其进行测试的原因。我想我正在使用一个愚蠢的 nodejs 包来发送邮件。在 php 中,我主要使用 PHPmailer。有没有什么好的nodejs库可以轻松发送邮件。

【问题讨论】:

  • 有什么好的 nodejs 库可以轻松发送电子邮件 - 有。它是 Nodemailer。没有充分的理由为什么 Nodemailer 延迟工作而另一个邮件程序没有。该问题特定于您的邮件服务器或问题中未列出的其他因素。如果您可以使使用其他邮件服务器(最好是本地)的其他用户重现该问题,请考虑提供 stackoverflow.com/help/mcve 并在 Nodemailer 存储库中打开一个问题。您可以尝试使用nodemailer.com/smtp/dsn 调试服务器
  • 好吧,我正在使用具有相同连接配置的同一邮件服务器,甚至将相同的电子邮件发送给同一用户。但我知道仍然必须有其他因素导致这个问题。如果你能提出一些其他可以帮助我找到问题的因素
  • 如果您的应用程序在某处出现延迟,这就是导致延迟的原因。不要使用快递。尝试直接使用 Nodemailer。并尽可能使用 DSN 调试交付状态。
  • 没有延迟不是因为快递应用。我这么说是因为当邮件在 4 分钟后到达时。邮件到达时间显示为 4 分钟前。这意味着收件箱提供商知道电子邮件是在 4 分钟前发送的。
  • 那么需要调试邮件服务器。我希望问题出在这个特定的邮件服务器上。如果不尝试使用其他邮件服务器,您将无法确定这一点。我不知道会导致这种情况的库之间存在任何可能的差异。这仍然可能取决于您使用 Nodemailer 的方式。该问题不包含 MCVE。

标签: node.js phpmailer nodemailer


【解决方案1】:

对于 SO 来说,这个问题实在是太宽泛了。 PHPMailer 和 nodemailer 的工作方式非常相似,因此有助于显示两者之间的配置差异(例如,它们使用相同的邮件服务器吗?)。

您需要弄清楚两者之间的路由差异——这几乎是造成如此大延迟的唯一原因。为获得最佳性能,您应该通过本地邮件服务器发送邮件,并且您将能够检查其日志以了解时间的去向。

【讨论】:

  • 是的,我正在使用具有相同配置的同一邮件服务器
  • 因此,请查看每种情况下记录的差异,或使用分析器
猜你喜欢
  • 1970-01-01
  • 2018-01-17
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多