vmc push Errno :: ENOENT:没有这样的文件或目录

时间:2013-02-17 01:02:36

标签: node.js smtp npm cloudfoundry nodemailer

我正在尝试将此示例部署到Cloud Foundry

https://github.com/andris9/Nodemailer/blob/master/examples/example_smtp.js

这是我做的:

  1. npm install nodemailer
  2. example_smtp.js重命名为app.js并编辑正确的电子邮件凭据字段
  3. 在本地测试node app.js,它可以正常工作/发送电子邮件
  4. vmc push并得到以下错误
  5.   

    上传mytestmailer ...失败上传失败。再试一次'vmc   推'。 Errno :: ENOENT:没有这样的文件或目录 -   C:/用户/用户名/应用程序数据/本地/温度/。   vmc_hocmailer_files / node_modules / nodemailer / node_modules / simplesmtp / node_modules   / xoauth2 / node_modules /请求/ node_modules /格式数据/ node_modules /组合-STREA   米/ node_modules /延迟流/测试/集成/测试延迟-HTTP-upload.js   有关更多信息,请参阅〜/ .vmc / crash

    我搜索并找到这个帖子来弄清~/.vmc/crash

    中的内容

    how to access ~/.vmc/crash folder on Cloud foundry

    但我使用的是 Windows ,因此无法找到该崩溃文件。

    有人可以帮我解决这个问题吗?似乎是一个简单的部署。

1 个答案:

答案 0 :(得分:2)

您需要确保创建一个指定应用程序依赖关系的package.json文件,在这种情况下它应该看起来像这样;

{
  "name": "node-mailer-example",
  "version": "0.0.1",
  "dependencies": {
    "nodemailer": "*"
  }
}

除了文件夹中的这个和app.js之外什么都没有,用npm安装应用程序的依赖项;

npm install

这应创建一个新的'node_modules'文件夹,其中包含依赖项。

此外,您需要更改app.js文件的第一行,使其显示为

var nodemailer = require('nodemailer');

我是这样做的,部署好了,我在应用程序日志中收到了这条消息;

SMTP Configured
Sending Mail
Error occured
Invalid login - 535-5.7.1 Please log in with your web browser and then try again. Learn more at
535 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 hr1sm24898342qeb.3 - gsmtp

顺便说一句,当你通过gMail发送大量邮件时,每个电子邮件都有相同的内容,gMail最终会要求你通过网络界面登录才能继续。