mailgun传入邮件事件获取附件的URL

我有一个节点端点,接收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}] 

但是,如果我在浏览器中inputurl:

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

我明白了

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

我想用最简单的方法来显示HTML中的图像附件,我希望这个URL能够工作,因为mailgun存储附件。

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

我是否需要将auth / API密钥凭证附加到URL的前端才能执行此操作来testing和开展工作?

如果你想访问原始的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"))