【问题标题】:Need solution for Nodemailer and NPM install需要 Nodemailer 和 NPM 安装的解决方案
【发布时间】:2020-03-09 22:18:34
【问题描述】:

我正在用 Ionic 编写一个使用 angular/typescript 的移动应用程序。我正在寻找一种前端解决方案,用于在后台将电子邮件动态发送到预先确定的电子邮件地址。我曾尝试使用 emailjs,但如果它与不兼容 Ionic 的 javascript 一起使用,它只是一个前端解决方案。我发现的另一个邮件客户端是用于打字稿的,它被称为“nodemailer”。我为 nodemailer 找到的教程位于此链接; https://subscription.packtpub.com/book/application_development/9781786468710/12/ch12lvl1sec71/sending-mail

我按照安装说明安装 nodemailer,但出现错误。安装成功的安装部件是;

  • npm install --save nodemailer
  • npm install @types/node --save
  • npm install @types/nodemailer --save
  • npm install @types/nodemailer-direct-transport --save
  • npm install @types/nodemailer-smtp-transport --save

出现错误的安装是;

npm install @types/nodemailer-bluebird --save

上述命令的错误是;

npm ERR! code E404 
npm ERR! 404 Not Found: @types/nodemailer-bluebird@latest
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Nicholas1\AppData\Roaming\npm-cache\ _logs\2019-09-09T17_59_48_776Z-debug.log
Any help with this error will be greatly appreciated because I could not find any helpful information online for the 404 error above. If you need any additional information please ask me.

最小可重现示例;

  • 安装node.js和npm; https://www.npmjs.com/get-npm
  • 安装 ionic 和 cordova cli 运行:C:> npm install -g cordova ionic -> 查看你的 ionic 版本运行: ionic -v
  • 切换到您的工作区目录,然后使用命令安装项目和模板; C:\Desktop> 离子启动 myApp 空白
  • 在网络浏览器中测试应用程序,此时它应该可以工作,您会看到“世界是你的牡蛎”的文字; --> C:\Desktop\myApp> 离子服务
  • 按照链接中的安装说明进行操作; https://subscription.packtpub.com/book/application_development/9781786468710/12/ch12lvl1sec71/sending-mail

  • 接下来运行以下命令,这些也是应该可以安装成功的安装部分;

    • C:\Desktop\myApp> npm install --save nodemailer
    • C:\Desktop\myApp> npm install @types/node --save
    • C:\Desktop\myApp> npm install @types/nodemailer --save
    • C:\Desktop\myApp> npm install @types/nodemailer-direct-transport --save
    • C:\Desktop\myApp> npm install @types/nodemailer-smtp-transport --save

下一个安装说明,这应该有错误;

npm install @types/nodemailer-bluebird --save

  • 上述命令的错误是;

npm 错误!代码 E404 npm 错误! 404 未找到:@types/nodemailer-bluebird@latest npm ERR!可以在以下位置找到此运行的完整日志:npm ERR! C:\Users\User1\AppData\Roaming\npm-cache\_logs\2019-09-09T17_59_48_776Z-debug.log

【问题讨论】:

    标签: angular typescript ionic-framework npm nodemailer


    【解决方案1】:

    我在安装 @types/nodemailer-bluebird 时遇到了同样的问题,但是 @types/bluebird 对我有用。

    这里是 npm 包的链接:

    https://www.npmjs.com/package/@types/bluebird

    【讨论】:

    • 您是否能够在客户端使用 nodemailer 库发送电子邮件?我很想听听您的详细经历!
    • 是的,我能够发送电子邮件;但是,我正在编写服务器端节点。就像其他人所建议的那样,从客户端执行它可能不是最好的想法或可行的解决方案,因此我无法在那里提供任何专业知识。
    【解决方案2】:

    您不应该从客户端发送电子邮件。您可以创建一个 webAPI 端点,该端点从服务器端发送电子邮件,然后从客户端点击该端点。

    Nodemailer 是 nodejs 唯一的解决方案,预计不会在 Web 浏览器中工作。此处说明:https://stackoverflow.com/a/37636122/5171009

    【讨论】:

    • 我的代码是用于移动应用程序的混合语言ionic,为什么不能在客户端完成发送电子邮件,因为我能够在Native Android中实现自主电子邮件。这是一个在 Native Android 中实现自主电子邮件的示例; stackoverflow.com/a/4668924/3576562 。 ionic 在网络浏览器中的唯一一次是我在 PC 上进行测试,然后在移动设备上进行测试。
    • 值得考虑的是,使用服务器端节点的人也可以利用这些信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2017-10-02
    • 2022-08-16
    相关资源
    最近更新 更多