【问题标题】:mailgun incoming mail event fetch attachment urlmailgun 传入邮件事件获取附件 url
【发布时间】:2017-11-11 04:57:08
【问题描述】:

我有一个以 json 格式接收传入电子邮件的节点端点,其中包含来自 mailgun 的任何附件。

附件在一个json数组中(xxx.com用于隐私)

attachments: '[{"url": "https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0", "content-type": "image/png", "name": "ashfordchroming_logo.png", "size": 15667}]

但是如果我在浏览器中输入网址:

https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0

我明白了

{
  "message": "Domain not found: xxx.com"
}

我想要以最简单的方式在 HTML 中显示图像附件,我希望 URL 能够正常工作,因为 mailgun 存储了附件。

所以我只是想在 Node 的模板中呈现 url。

我是否需要将身份验证/API 密钥凭据附加到 URL 的前面来执行此操作以进行测试和工作?

【问题讨论】:

    标签: node.js mailgun


    【解决方案1】:

    如果要访问原始 json,请转到

    https://sw.api.mailgun.net/v3/domains/xxx.com/messages/eyJwIjpmYWxzZSwiayI6ImZhMTU0NDkwLWVmYzgtNDVlNi1hYWMyLTM4M2EwNDY1MjJlNCIsInMiOiI2NmU1NmMzNTIwIiwiYyI6InRhbmtiIn0=/attachments/0

    使用用户名“api”和密码“your-mailgun-privatekey”。

    要以编程方式执行此操作,请使用请求包读取缓冲区。

    const rp = require("request-promise");
    let file = rp.get({
      uri: "attachement-url",
      headers: {
        "Accept": "message/rfc2822"
      }
    }).auth("api", "your private key")
    /**Access the buffer here**/
    file.on('data', (s => {
      console.log(s)
    }))
    file.pipe(fs.createWriteStream("./my-image.jpg"))

    您可以将文件通过管道传输到 S3 或任何云存储桶。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-23
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2016-12-07
      相关资源
      最近更新 更多