如何从 firebase 存储发送附件并使用 node.js 中的 mailgun 服务将其发送到电子邮件

2024-06-22

是否可以从 firebase 存储附加文件? 我尝试了以下代码,但它不起作用

var mailgun = require("mailgun-js");
var api_key = 'key-acf9f881e32c85b3c0dad34358507a95';
var DOMAIN = 'sandbox76c6f74ddab14862816390c16f37a272.mailgun.org';
var mailgun = require('mailgun-js')({apiKey: api_key, domain: DOMAIN});
var path = require("path");

var filepath = path.join(`gs://i-m-here-c01f6.appspot.com/Groups/${leaderId}`, 'group_image.jpg');


var data = {
    from: 'Excited User <[email protected] /cdn-cgi/l/email-protection>',
    to: '[email protected] /cdn-cgi/l/email-protection',
    subject: 'Complex',
    text: 'Group Creation Request',
    html: `<p>A user named: ${fromName} wants to create a group.<br />
            User ID: ${leaderId}<br />
            Group Name: ${groupName}<br />
            Group Description: ${groupDescription}<br /><br />
            To Accept the request click here:<br />
            https://us-central1-i-m-here-c01f6.cloudfunctions.net/acceptOrDenyGroupCreation?leaderID=${leaderId}&requestStatus=approved <br /><br />
            To Deny the request click here:<br />
            https://us-central1-i-m-here-c01f6.cloudfunctions.net/acceptOrDenyGroupCreation?leaderID=${leaderId}&requestStatus=denied /></p>`,
    attachment: filepath
};

mailgun.messages().send(data, function (error, body) {
    if(error)
        console.log('email err: ',error);
});

请帮忙


你不能使用gs://bucket-name/path-to-file从 Cloud Storage 下载文件的 URL,就像 HTTP URL 一样。相反,您必须执行以下操作之一:

  1. 使用 Cloud Storage SDK 将文件下载到本地,然后将其附加到您的电子邮件
  2. 或者,使用 Cloud Storage SDK 生成“签名网址 https://cloud.google.com/storage/docs/access-control/signed-urls”,这将为您提供该文件的 HTTPS URL,可用于下载该文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 firebase 存储发送附件并使用 node.js 中的 mailgun 服务将其发送到电子邮件 的相关文章

  • 如何在nodejs中处理大量对象

    我想处理长度约为 100 000 的数组 而不会给 CPU 带来太多负载 我研究了流并偶然发现了 highlandjs 但我无法使其工作 我也尝试过使用 Promise 和分块处理 但它仍然给 CPU 带来很大的负载 如果需要 程序可能会很
  • Microsoft SQL 数据库的 WebSocket 侦听器

    我目前正在开发一个项目 该项目必须使用 WebSockets 作为将数据传输到客户端的方式 基础设施看起来像这样 客户端 gt Web 服务器 gt Microsoft SQL 数据库 我想最理想的情况应该是这样的 客户端打开一个到服务器的
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用
  • 如何使用node-sass将scss编译为css

    我有一个 master scss 其中包含许多来自其他 scss 文件的导入 如果我更改 scss 文件 master css 会自动生成 我只使用 NPM 没有使用 Gulp 或 Grunt 这应该保持不变 我当前的构建脚本 script
  • 如何在 JavaScript 中获取 Application Insights 操作 id?

    我有一个用 javascript 编写的 Azure Function 应用程序 集成了 Application Insights const AppInsights require applicationinsights AppInsig
  • Android - Firebase - 电子邮件地址格式错误

    Aim 允许用户注册他们的首选显示名称 家庭地址 email and password通过利用Firebase 身份验证 电子邮件和密码 Java类 import android content Intent import android
  • 使用 node.js 和 socket.io 阻止 CORS

    我最近开始学习node js和socket io 我遵循了 socket io 的简单教程 在我的计算机上运行时一切正常 但是 我决定将客户端部分上传到服务器进行测试 这就是问题开始的地方 我想在网络主机上运行聊天客户端 并在我的计算机或其
  • Mongoose 填充与对象嵌套

    使用之间是否有任何性能差异 查询的处理时间 猫鼬种群 http mongoosejs com docs populate html和直接对象包含 每种应该什么时候使用 猫鼬种群示例 var personSchema Schema id Nu
  • 简单的node js应用程序

    我正在尝试制作一个简单的表单 其中包含用户名和姓氏 当用户提交信息时 会显示另一个页面 我用 html 做了一个表单 但我不知道下一步该怎么做 有没有人有一个小型的 独立的表单示例 使用node js 这个例子并没有完全完成你的任务 但它是
  • 如何将缓冲区包装为stream2可读流?

    如何使用stream2接口将node js缓冲区转换为可读流 我已经找到了这个answer https stackoverflow com questions 13230487 converting a buffer into a read
  • Mongoose:populate() / DBref 或数据重复?

    我有两个收藏 Users Uploads 每次上传都有一个User与之相关 当我需要知道他们的详细信息Upload被查看 最佳做法是在上传记录中复制此数据 还是使用填充 http mongoosejs com docs populate h
  • 在express中设置静态javascript文件的内容类型

    我在用express使用 es6 模块提供带有 js 文件的页面 关于 es6 模块 https jakearchibald com 2017 es modules in browsers https jakearchibald com 2
  • NodeJS 需要全局模块/包

    我正在尝试全局安装然后使用forever and forever monitor像这样 npm install g forever forever monitor 我看到了通常的输出以及将文件复制到全局路径的操作 但是如果我尝试requir
  • 页面路由不完全是我想要的

    我在下面的代码中使用 Angular Routing 将用户引导至新的注册表单 该应用程序的工作原理如下 用户看到一个网页 要求他们通过单击适当的按钮在 数字报价 或 屏幕报价 之间做出选择 单击该按钮后 它应该将其定向到另一个显示相应注册
  • 找不到模块:错误:与 webpack 捆绑时无法解析模块“模块”mongodb

    当我尝试在节点应用程序中使用 mongoose connect 时 Webpack 抛出以下错误 最初还有一些错误 例如 Module not found Error Cannot resolve module fs 在我的 webpack
  • 部署到 azure 网站时如何 npm 配置选项(例如 --scripts-prepend-node-path)?

    部署到 azure 网站时 我在 package json 中使用了以下内容 name mypackage engines node 6 11 1 npm 4 2 0 一切正常 但我也收到以下警告 npm WARN 生命周期 用于脚本的节点
  • 如果数据库关闭一段时间,MongoDB 会更改流超时

    我在nodejs中使用mongoDB更改流 一切正常 但如果数据库关闭需要超过10 5秒才能启动更改流会引发超时错误 这是我的更改流观察程序代码 Service prototype watcher function db let colle
  • Google App Engine 灵活环境的定价,一堂 500 美元的课程

    我遵循 App Engine 上的 Nodejs 灵活环境教程 https cloud google com appengine docs flexible nodejs create app https cloud google com
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次
  • 检查redis是否正在运行->node js

    我只是想知道 在 NodeJS 进程开始时 Redis 是否启动 因此用户会话是否会被存储 这是我目前所拥有的 var session require express session var RedisStore require conne

随机推荐