我有一个节点端点,它接收来自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}]
但是如果我在浏览器中输入网址:
我得到了
{
"message": "Domain not found: xxx.com"
}
我想用最简单的方式在HTML中显示图片附件,我希望URL能够正常工作,因为mailgun会存储附件。
所以我只是尝试在Node中的模板中呈现url。
我是否需要将auth / API密钥凭据附加到URL的前面才能执行此操作以进行测试和工作?
答案 0 :(得分:3)
如果您想访问原始json,请转到
使用用户名'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或任何云存储桶。