【问题标题】:mail for nodemailer didn't work on azure servernodemailer 的邮件在 azure 服务器上不起作用
【发布时间】:2014-06-28 03:30:53
【问题描述】:

我正在尝试使用 nodemailer 的邮件 api 从 Microsoft azure 上的 express js 服务器发送邮件。它在本地机器上取得了成功,但在天蓝色服务器(远程)上却没有。有什么想法吗?

 var mail = require("nodemailer").mail;
 mail({from: "from@gmail.com", // sender address
       to: "to@gmail.com", // list of receivers
       subject: "subject", // Subject line
       text: "text", // plaintext body
       html: "<b>helloworld</b>" // html body
      });

谢谢, av

【问题讨论】:

  • 您能告诉我们您遇到的异常或错误吗?因此很难为您提供帮助。
  • 默认使用sendmail吗?我敢打赌 Azure 服务器没有安装/无法安装。
  • 感谢您的即时回复。它没有抛出任何异常。任何想法。
  • @Eugene Kostrikov,天蓝色的替代解决方案是什么?
  • 让我们从更好地描述问题开始。您使用的是 Azure 网站、Azure 移动服务、Azure 虚拟机还是 Azure 云服务。根据服务的类型,描述您使用的操作系统及其版本。然后描述您如何准确地配置邮件传输。根据 Nodemailer 文档,您尝试直接使用收件人 MX 服务器,这不是发送电子邮件的最佳方式,并且在很多情况下它会被拒绝(尤其是当原始 IP 来自云提供商时)。

标签: node.js azure express nodemailer


【解决方案1】:

以防万一其他人遇到同样的问题。

我在 Azure 网站上运行 Nodemailer 时遇到了同样的问题。最后我发现问题是我忘记将 Nodemailer 作为依赖项放在 package.json 中。然后 azure 不知道它必须为托管服务器安装 Nodemailer。

在 package.json 的依赖列表末尾添加 "nodemailer" : "*"。在添加“nodemailer”之前,不要忘记在最后一行之后添加一个“,”。

希望对你有帮助。

【讨论】:

  • 它对我不起作用。我的本地node版本是0.10.20,nodemailer是1.3.4。它在本地主机中工作。基于此网站:azure.microsoft.com/en-us/documentation/articles/…,它应该使用 azure 中的最新节点版本,即 0.12.0。我还尝试将 "engines": {"node": "0.10.x"} 添加到我的 package.json 中,但也没有效果。有什么帮助吗?
  • 好的,我知道我的问题是什么了。错误是“无效登录”。如http://stackoverflow.com/questions/19877246/nodemailer-with-gmail-and-nodejs 中所述,解决方案是从谷歌帐户启用安全性较低的应用程序。仍然很奇怪为什么它在 localhost 中有效,但在 azure 中无效。
【解决方案2】:

请在 iisnode.yml 文件中进行更改以调用更新的 nodejs 版本,如下所示- nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\8.5.0\node.exe"

【讨论】:

    猜你喜欢
    • 2019-10-09
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2020-04-19
    • 2017-12-22
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    相关资源
    最近更新 更多